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

面试题 相关文章推荐
如何强制垃圾回收
Oct 06 面试题
一套Java笔试题
Aug 20 面试题
c/c++某大公司的两道笔试题
Feb 02 面试题
寻找迷宫的一条出路,o通路;X:障碍
Jul 10 面试题
计算 s=(x*y)1/2,用两个宏定义来实现
Aug 11 面试题
介绍一下SQL注入攻击的种类和防范手段
Feb 18 面试题
局域网定义和特性
Jan 23 面试题
说一下Linux下有关用户和组管理的命令
Jan 04 面试题
初始化了一个没有run()方法的线程类,是否会出错?
Mar 27 面试题
GC是什么?为什么要有GC?
Dec 08 面试题
Java程序员面试题
Sep 27 面试题
请说出以下代码输出什么
Aug 30 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
虫族 ZERG 概述
2020/03/14 星际争霸
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
PHP实现文件上传与下载
2020/08/28 PHP
网上抓的一个特效
2007/05/11 Javascript
js切换div css注意的细节
2012/12/10 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python学习教程之使用py2exe打包
2017/09/24 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
存储过程的优缺点是什么
2015/01/10 面试题
中层竞聘演讲稿
2014/01/09 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
《去年的树》教学反思
2014/04/11 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
债务追讨律师函
2015/06/24 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
MySQL基础(一)
2021/04/05 MySQL