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

面试题 相关文章推荐
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
华美博弈C/VC工程师笔试试题
Jul 16 面试题
如何用SQL语句进行模糊查找
Sep 25 面试题
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
Jun 16 面试题
网络安全类面试题
Aug 01 面试题
C# .NET面试题
Nov 28 面试题
Linux内核产生并发的原因
Jul 13 面试题
一些Solaris面试题
Mar 22 面试题
linux面试题参考答案(11)
Nov 26 面试题
法雷奥SQA(electric)面试问题
Jan 23 面试题
如何通过jdbc调用存储过程
Apr 19 面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python中的itertools的使用详解
2020/01/13 Python
python文件读取失败怎么处理
2020/06/23 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
信息部岗位职责
2013/11/12 职场文书
家长对小学生的评语
2014/01/28 职场文书
美术社团活动总结
2014/06/27 职场文书
大学生心理活动总结
2014/07/04 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL