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 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
Jun 05 面试题
简述你对Statement,PreparedStatement,CallableStatement的理解
Mar 25 面试题
编程实现当输入某产品代码则打印出该产品记录的功能
May 03 面试题
如何查找和删除数据库中的重复数据
Nov 05 面试题
简述数据库的设计过程
Jun 22 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
.NET现在共支持多少种语言
Feb 26 面试题
C#基础面试题
Oct 17 面试题
init进程的作用
Aug 20 面试题
什么是GWT的Entry Point
Aug 16 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
Nov 18 面试题
GC是什么?为什么要有GC?
Dec 08 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
一个显示天气预报的程序
2006/10/09 PHP
php目录管理函数小结
2008/09/10 PHP
php 文件上传实例代码
2012/04/19 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP会话控制实例分析
2016/12/24 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
对python字典过滤条件的实例详解
2019/01/22 Python
python学习开发mock接口
2019/04/28 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
平面设计专业大学生职业规划书
2014/03/12 职场文书
年会主持词结束语
2014/03/27 职场文书
晚会闭幕词
2015/01/28 职场文书
员工家属慰问信
2015/03/24 职场文书
阿凡达观后感
2015/06/10 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
Python中递归以及递归遍历目录详解
2021/10/24 Python