有名管道也称为命名管道 (FIFO),通过 FIFO 可以实现不相关的进程间的通信。
1.命名管道
命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的无名管道(匿名管道)类似。
由于Linux中所有的事物都可被视为文件,所以对命名管道的使用也就变得与文件操作非常的统一,也使它的使用非常方便,同时我们也可以像平常的文件名一样在命令中使用。
命名管道(FIFO)和无名管道(pipe)有一些特点是相同的,不一样的地方在于:
小结:
匿名管道是在缓存中开辟的输出和输入文件流的空间,只能用于父子关系的进程之间。因为父子进程的输入和输出文件描述符是一致的。
命名管道是一种实际存在的FIFO文件,称作“管道文件”,用于不同进程之间,命名管道进程间打开同一个FIFO文件,进行数据传递。我们可以像普通文件一样操作FIFO文件。不同进程可以引用同一个FIFO文件,进行数据传递。