第15章 进程间通行 15.5 FIFO

狂风中的少年 提交于 2019-12-09 20:35:20

(1)什么是命名管道,未命名管道?

未命名管道:只能在两个相关的进程之间使用,而且这两个相关的进程还要有一个共同的创建了它们的主先进程。

命名管道:FIFO,不相关的进程也能交换数据。

(2)FIFO是一种文件类型。

创建FIFO类似于创建文件,且FIFO的路径名存在与文件系统中。

(3)

函数mkfifo,mkfifoat创建FIFO,用open打开它(O_NONBLOCK非阻塞标志的影响)。

应用程序可以用mknod和mknodat函数创建FIFO。

(4)FIFO有两种用途。

1)复制一系列shell命令中的输出流。比如需要对一个经过过滤的输入流进行两次(单独)处理。

(通过tee程序实现:此程序将其标准输入同时复制到其标准输出以及其命令行中命名的文件中)

2)使用FIFO进行客户进程-服务器进程通行。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!