linux下进程间通信的方式


Posted in 面试题 onJanuary 23, 2013
信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);
管道通信(Pipe)及有名管道(named pipe)通信:管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
套接字(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。
报文(Message)队列(消 息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

Tags in this post...

面试题 相关文章推荐
PHP高级工程师面试问题推荐
Jan 18 面试题
空字符串(“”)和null的区别
Nov 13 面试题
C语言编程题
Mar 09 面试题
下面关于"联合"的题目的输出是什么
Aug 06 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
do you have any Best Practice for testing
Jun 04 面试题
性能测试工程师的面试题
Feb 20 面试题
客服端调用EJB对象的几个基本步骤
Jan 15 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
怎样声明一个匿名的内部类
Jun 01 面试题
请说出以下代码输出什么
Aug 30 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
php桌面中心(三) 修改数据库
2007/03/11 PHP
php中的常用魔术方法总结
2013/08/02 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
php获取linux命令结果的实例
2017/03/13 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
理解JS事件循环
2016/01/07 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
详解webpack babel的配置
2018/01/09 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
小程序实现留言板
2018/11/02 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
python实现simhash算法实例
2014/04/25 Python
python3 读写文件换行符的方法
2018/04/09 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
实习生自我鉴定
2013/12/12 职场文书
安全大检查实施方案
2014/02/22 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
失职检讨书大全
2015/01/26 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
nginx配置指令之server_name的具体使用
2022/08/14 Servers