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面试题目
Mar 31 面试题
C语言面试题
May 19 面试题
C语言50道问题
Oct 23 面试题
利用指针变量实现队列的入队操作
Apr 07 面试题
上海天奕面试题笔试题
Apr 19 面试题
abstract是什么意思
Feb 12 面试题
什么是lambda函数
Sep 17 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
简单的JAVA编程面试题
Mar 19 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
Unix/Linux开发面试题
Aug 16 面试题
创联软件面试题笔试题
Oct 07 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php实例化一个类的具体方法
2019/09/19 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
javascript数组详解
2014/10/22 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
小程序实现搜索框
2020/06/19 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
python保存网页图片到本地的方法
2018/07/24 Python
Python语法分析之字符串格式化
2019/06/13 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
什么是python的自省
2020/06/21 Python
python如何设置静态变量
2020/09/07 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
投标承诺书范本
2014/03/27 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
党建工作先进材料
2014/05/02 职场文书
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android