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

面试题 相关文章推荐
得到Class的三个过程是什么
Aug 10 面试题
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
武汉世纪畅想数字传播有限公司.NET笔试题
Jul 22 面试题
P/Invoke是什么
Jul 31 面试题
软件测试企业面试试卷
Jul 13 面试题
UML设计模式笔试题
Jun 07 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
介绍一下如何优化MySql
Dec 20 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
Nov 27 面试题
JAVA招聘远程笔试题
Jul 23 面试题
关于Java finally的面试题
Apr 27 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
Textarea根据内容自适应高度
2013/10/28 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
Python中pass的作用与使用教程
2020/11/13 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
学校大课间活动方案
2014/01/30 职场文书
高中家长寄语
2014/04/02 职场文书
大学生心理活动总结
2014/07/04 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2014年保管员工作总结
2014/11/18 职场文书
聚会通知怎么写
2015/04/23 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL