https://blog.csdn.net/weixin_51911075/article/details/127856047?spm=1001.2014.3001.5501
管道
把一个程序的输出直接连接在另外一个程序的输入。
管道分为有名管道和无名管道两种,它们的区别是:
无名管道只能在父子进程之间进行通信。
有名管道又称为命名管道,可以在任意两个进程之间进行通信。
1.2 管道通信中特殊的名词
读阻塞(进程阻塞):当管道中没有数据可读时,会产生读阻塞。
写阻塞:当管道已满,再往管道中写入数据时,会产生写阻塞。直到有空间可以写入时,再写。
管道破裂:只有写端,没有读端。
管道中不能使用lseek
2. 无名管道(PIPE)
是一种亲缘进程间的通信方法
2.1 无名管道的通信原理
无名管道存在于kernel中,A,B必须具有亲缘关系进程。同一时刻,只能有一个写端或一个读端。
父子进程间,只要是fork()出来的,就会完美复制父进程的数据。如果在fork()之前创建管道,并获取管道的操作接口,子进程就能使用管道。
2.2 无名管道特点
只能用于具有亲缘关系的进程之间的通信(也就
1