linux下进程间通信的方式


Posted in 面试题 onDecember 23, 2014
信号(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...

面试题 相关文章推荐
华为慧通面试题
Sep 11 面试题
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
May 23 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
Feb 29 面试题
北京SQL新华信咨询
Sep 30 面试题
叙述DBMS对数据控制功能有哪些
Jun 12 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
介绍一下木马病毒的种类
Jul 26 面试题
介绍一下grep命令的使用
Jun 12 面试题
百度JavaScript笔试题
Jan 15 面试题
什么是lambda函数
Sep 17 面试题
方正Java笔试题
Jul 03 面试题
如何定义一个可复用的服务
Sep 30 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
留言板翻页的实现详解
2006/10/09 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
js日期相关函数总结分享
2013/10/15 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
python写一个md5解密器示例
2018/02/23 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Python如何省略括号方法详解
2020/03/21 Python
pandas分批读取大数据集教程
2020/06/06 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
迎元旦广播稿
2014/02/22 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
圣诞晚会主持词
2015/07/01 职场文书
详解Laravel制作API接口
2021/05/31 PHP
Hive导入csv文件示例
2022/06/25 数据库