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如何对用户密码进行加密
Jul 31 面试题
PHP笔试题
Feb 22 面试题
如何强制垃圾回收
Oct 06 面试题
怎样从/向数据文件读/写结构
Nov 23 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
数据库什么时候应该被重组
Nov 02 面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 面试题
铭万公司.net面试题笔试题
Jul 20 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Apr 17 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Jan 06 面试题
介绍一下JMS编程步骤
Sep 22 面试题
Java程序员常见面试题
Jul 16 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
php 高性能书写
2010/12/11 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
php操作redis缓存方法分享
2015/06/03 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
linecache模块加载和缓存文件内容详解
2018/01/11 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
python二进制文件的转译详解
2019/07/03 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
生物技术毕业生自荐信
2013/10/23 职场文书
高一物理教学反思
2014/01/24 职场文书
学生感冒英文请假条
2014/02/04 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
市场营销工作计划书
2014/05/06 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python