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

面试题 相关文章推荐
说出数据连接池的工作机制是什么?
Apr 19 面试题
文件中有一组整数,要求排序后输出到另一个文件中
Jan 04 面试题
利达恒信公司.NET笔试题面试题
Mar 05 面试题
什么是三层交换,说说和路由的区别在那里
Sep 01 面试题
sealed修饰符是干什么的
Oct 23 面试题
如何利用cmp命令比较文件
Sep 23 面试题
软件测试英文面试题
Oct 14 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
Nov 04 面试题
EJB面试题
Jul 28 面试题
Python里面如何实现tuple和list的转换
Jun 13 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
php实现倒计时效果
2015/12/19 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
React优化子组件render的使用
2019/05/12 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
在Docker上开始部署Python应用的教程
2015/04/17 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
animation和transition的区别
2020/10/12 HTML / CSS
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
高一化学教学反思
2014/02/05 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
代理协议书
2014/04/22 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
个人授权委托书
2014/09/15 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
教师节主题班会教案
2015/08/17 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
讲解MySQL增删改操作
2022/05/06 MySQL