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...

面试题 相关文章推荐
Java基础知识面试要点
Jul 29 面试题
extern在函数声明中是什么意思
Jan 19 面试题
什么情况下你必须要把一个类定义为abstract的
Jan 06 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
Linux操作面试题
May 16 面试题
说一下Linux下有关用户和组管理的命令
Aug 18 面试题
一套软件测试笔试题
Jul 25 面试题
性能测试工程师的面试题
Feb 20 面试题
外包公司软件测试工程师
Nov 01 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
Mar 12 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
Mar 30 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
php截取后台登陆密码的代码
2012/05/05 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
Python中字典和集合学习小结
2017/07/07 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python获取中文字符串长度的方法
2018/11/14 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
Python3读写ini配置文件的示例
2020/11/06 Python
易程科技软件测试笔试
2013/03/24 面试题
《长江之歌》教学反思
2014/04/17 职场文书
长城的导游词
2015/01/30 职场文书
单位考核鉴定意见
2015/06/05 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python