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

面试题 相关文章推荐
PHP中如何创建和修改数组
May 02 面试题
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
外企C语言笔试题
Nov 10 面试题
介绍一下#error预处理
Sep 25 面试题
struct和class的区别
Nov 20 面试题
Android面试题附答案
Dec 08 面试题
.NET面试问题集
Dec 08 面试题
Python中如何定义一个函数
Sep 06 面试题
几个判断型的面试题
Jul 03 面试题
Jdbc数据访问技术面试题
Mar 30 面试题
IBatis持久层技术
Jul 18 面试题
Promise面试题详解之控制并发
May 14 面试题
linux系统都有哪些运行级别
Apr 15 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 #面试题
Linux内核产生并发的原因
Jul 13 #面试题
Linux如何为某个操作添加别名
Mar 01 #面试题
Linux如何压缩可执行文件
Oct 21 #面试题
进程的查看和调度分别使用什么命令
Dec 14 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 #面试题
You might like
短波收音机简介
2021/03/01 无线电
桌面中心(二)数据库写入
2006/10/09 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
dojo 之基础篇
2007/03/24 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python序列化基础知识(json/pickle)
2017/10/19 Python
详解python中的Turtle函数库
2018/11/19 Python
基于python实现KNN分类算法
2020/04/23 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
pytorch中index_select()的用法详解
2021/01/06 Python
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
存储过程的优点有哪些
2012/09/27 面试题
公司业务主管岗位职责
2013/12/07 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
营销总监岗位职责
2014/09/16 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
Python如何用re模块实现简易tokenizer
2022/05/02 Python