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

面试题 相关文章推荐
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
Oct 27 面试题
Java如何格式化日期
Aug 07 面试题
C有"按引用传递"吗
Sep 06 面试题
输入N,打印N*N矩阵
Feb 20 面试题
请写出 float x 与"零值"比较的 if 语句
Jan 04 面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 面试题
什么是触发器(trigger)? 触发器有什么作用?
Sep 18 面试题
TCP/IP模型的分界线
Dec 01 面试题
C#公司笔试题
Mar 28 面试题
系统管理员的职责包括那些?管理的对象是什么?
Sep 20 面试题
高级Java程序员面试题
Jun 23 面试题
北京振戎融通Java面试题
Sep 03 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
生成php程序的php代码
2008/04/07 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
php建立Ftp连接的方法
2015/03/07 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python的几种开发工具介绍
2007/03/07 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Python中SQLite如何使用
2020/05/27 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
大学应届毕业生个人求职信
2013/09/23 职场文书
物理研修随笔感言
2014/02/14 职场文书
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
党员教师工作决心书
2014/03/13 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
毕业欢送会致辞
2015/07/29 职场文书