Linux进程间通信(IPC) 管道、消息队列、共享内存、信号量、信号 一、管道 1.1 无名管道 1.2 命名管道(FIFO) 二、消息队列 三、共享内存 四、信号量 五、信号 5.1 信号的名字和编号 5.2 信号处理函数的注册和发送 管道举例 消息队列举例 共享内存举例 信号量举例 信号举例 管道、消息队列、共享内存、信号量、信号 一、管道 定义:管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。 1.1 无名管道 特点: 半双工。(同一时间,数据单向流通) 只应用在父子或者兄弟进程之间。 数据读取后,管道中的数据即不存在了。 进程1 管道 进程2 写入数据1 读取数据1 读取数据2 写入数据2 同时 进程1 管道 进程2 //头文件 ##include <unistd.h> //主函数 int pipe(int fd[2]); // 返回值:success返回0,error返回-1 参数说明: 当一个管道建立时,它会创建两个文件描述符:fd[0]为读而打开,fd[1]为写而打开。 1.2 命名管道(F