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

面试题 相关文章推荐
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
我看到了用指针调用函数的不同语法形式
Jul 16 面试题
将"引用"作为函数参数有哪些特点
Apr 05 面试题
SQL Server数据库笔试题和答案
Feb 04 面试题
北京某公司的.net笔试题
Mar 20 面试题
如何在.net Winform里面显示PDF文档
Sep 11 面试题
介绍一下Linux内核的排队自旋锁
Jan 04 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
Sep 18 面试题
linux面试相关问题
Apr 28 面试题
实体的生命周期
Aug 31 面试题
如何开发一个JQuery插件
Jul 28 面试题
Java里面Pass by value和Pass by Reference是什么意思
May 02 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
php5 and xml示例
2006/11/22 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
javascript+mapbar实现地图定位
2010/04/09 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
python线程池threadpool使用篇
2018/04/27 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
酒店大堂副理的职责范文
2014/02/13 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
读群众路线的心得体会
2014/09/03 职场文书
2014年车间工作总结
2014/11/21 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript