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

面试题 相关文章推荐
如何打开WebSphere远程debug
Oct 10 面试题
C语言变量的命名规则都有哪些
Dec 27 面试题
广州地球村科技数据库题目
Apr 25 面试题
STP协议的主要用途是什么?为什么要用STP
Dec 20 面试题
端口镜像是怎么实现的
Mar 25 面试题
盛大二次面试题
Nov 18 面试题
什么是跨站脚本攻击
Dec 11 面试题
extern是什么意思
Mar 10 面试题
do you have any Best Practice for testing
Jun 04 面试题
Ajax主要包含了哪些技术
Jun 12 面试题
主要的Ajax框架都有什么
Nov 14 面试题
举例说明类变量和实例变量的区别
Jun 30 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
详解python算法之冒泡排序
2019/03/05 Python
python类中super() 的使用解析
2019/12/19 Python
python中JWT用户认证的实现
2020/05/18 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
管理标语大全
2014/06/24 职场文书
先进典型发言材料
2014/12/30 职场文书
医德医风个人总结
2015/02/28 职场文书
个人党性分析总结
2015/03/05 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle