UNIX系统 IPC 是各种进程通讯方式的统称。
在讲进程通讯之前,先带大家了解一下Linux都有哪些进程间通讯的方式?
1.无名管道
2.命名管道
3.消息队列
4.共享内存
5.信号量
6.信号
7.socket
本篇博客先讲述无名管道以及命名管道。
无名管道
(1)历史上,他们是半双工的(即数据只能在一个方向上流动)。现在,某些系统提供全双工管道。
(2)他们只能在具有父子关系的进程之间使用。通常,一个管道由父进程创建,然后该进程调用fork,此后父子进程之间就可应用此管道。
(3)不存在管道文件,其借助父子进程共享fork之前打开的文件描述符(用文件描述符指向一块内存),数据缓存在内存中。
无名管道创建:
#include<unistd.h>
int pipe(int filedes[