第15章 进程间通行 15.5 FIFO
(1)什么是命名管道,未命名管道? 未命名管道:只能在两个相关的进程之间使用,而且这两个相关的进程还要有一个共同的创建了它们的主先进程。 命名管道:FIFO,不相关的进程也能交换数据。 (2)FIFO是一种文件类型。 创建FIFO类似于创建文件,且FIFO的路径名存在与文件系统中。 (3) 函数mkfifo,mkfifoat创建FIFO,用open打开它(O_NONBLOCK非阻塞标志的影响)。 应用程序可以用mknod和mknodat函数创建FIFO。 (4)FIFO有两种用途。 1)复制一系列shell命令中的输出流。比如需要对一个经过过滤的输入流进行两次(单独)处理。 (通过tee程序实现:此程序将其标准输入同时复制到其标准输出以及其命令行中命名的文件中) 2)使用FIFO进行客户进程-服务器进程通行。 来源: oschina 链接: https://my.oschina.net/u/2463708/blog/518316