IPC介绍
IPC:inter-process-communication
linux通过内核提供的缓冲区通进行数据交换的机制,用户去区无法完成
IPC通信的方式:
• pipe 管道 (有血缘关系通信)半双工通信
• fifo
• mmap 文件映射(共享)IO --速度最快(在内存上开辟一块缓冲区,把文件映射到内存上,直接操作内存)
• 本地socket 最稳定
• 信号 携带信息量最小
• 共享内存
• 消息队列
pipe
也叫无名管道:一种半双工的通信方式,只能在具有亲缘关系的进程间使用(父子进程)
优点:
•简单方便
缺点:
•局限于单向通信
•只能创建在它的进程以及其有亲缘关系的进程之间
•缓冲区有限
相关函数
int pipe(int pipefd[2]);
• pipefd 读写文件描述符 0是读,1是写;
返回值:成功返回0,失败返回1;
#include<stdio.h>
#