Linux下的进程间通信方式有如下几种:
低级通信 - 控制信息的通信:信号、信号量。
高级通信 - 数据信息的通信:管道、信息队列、共享内存、套接字。其中只有套接字可用于不同主机的进程通信。
谁负责同步 | 方向是否固定 | 进程是否需亲缘关系 | 是否存在消息边界 | 数据大小是否受限 | 速度 | 生命周期随什么 | |
无名管道 | 内核 | 是 | 需 | 否 | 是 | 进程 | |
有名管道 | 内核 | 否 | 否 | 否 | 是 | 内核 | |
消息队列 | 内核 | 否 | 否 | 是 | 是 | 内核 | |
共享内存 | 进程 | 否 | 否 | 否 | 否 | 最快 | 内核 |