linux 进程间通信总结

对linux 进程通信的一点简单总结,主要包括 管道通信,还有 system v, posix 标准的 消息队列,信号量,共享内存方式。

基于管道的通信主要包括有名管道,和无名管道,所谓的有名管道,就是创建的时候会带有具体的标识,以便于确认对谁操作,而无名管道是创建没有名字的管道,在于用的时候是否需要去带有标识的操作

消息队列和信号量,共享内存都分为 system v 和 POSIX 两种标准,System V 起源较早,用的更为广泛,但是操作上复杂了一些,同时与 linux 系统本身的文件规则不一样,一些函数自然无法使用,POSIX 正是基于这些来得新定义,使用一些标准的 IO 接口也能使用。

消息队列更偏向于消息通信,本身在处理一些命令通知这样的功能时较为合适,而共享内存因为是直接映射内存,所以相对在进程间传输大量数据时具有较好的应用场合。

信号量主要用于同步操作,一方执行需要,另一方的结果,或者防止竞争同一空间,而产生的功能。其中 POSIX 标准的无名信号量使用较为简单,多数也都是使用这种。

转载于:https://my.oschina.net/u/145591/blog/2983404

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页