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

面试题 相关文章推荐
PHP开发工程师面试问题集锦
Nov 01 面试题
描述一下JVM加载class文件的原理机制
Dec 08 面试题
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
Jan 07 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
什么造成了Java里面的异常
Apr 24 面试题
是否有自动比较结构的方法
Jun 03 面试题
文件中有一组整数,要求排序后输出到另一个文件中
Jan 04 面试题
什么是数据抽象
Nov 26 面试题
.NET remoting的两种通道是什么
May 31 面试题
一套软件测试笔试题
Jul 25 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
介绍一下SOA和SOA的基本特征
Feb 24 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
php适配器模式介绍
2012/08/14 PHP
获取URL文件名后缀
2013/10/24 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
理解JavaScript中的对象 推荐
2011/01/09 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
javascript实现数独解法
2015/03/14 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
Vue官网todoMVC示例代码
2018/01/29 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
Python自动连接ssh的方法
2015/03/07 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
利用python画一颗心的方法示例
2017/01/31 Python
python将unicode转为str的方法
2017/06/21 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
python 字符串常用函数详解
2019/09/11 Python
python 并发下载器实现方法示例
2019/11/22 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
大一学生的职业生涯规划书范文
2014/01/19 职场文书
保安队长职务说明书
2014/02/23 职场文书
农业局学习党的群众路线教育实践活动心得体会
2014/03/07 职场文书
道路施工安全责任书
2014/07/24 职场文书
上课说话检讨书500字
2014/11/01 职场文书
社区敬老月活动总结
2015/05/07 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫