什么是用于创建匿名管道的linux命令(未命名管道)

时间:2016-03-13 21:27:26

标签: c linux

想要创建一个未命名的管道。在ubuntu 14上,我试过“管道”,没有用,也找不到网络搜索。对于命名管道,“mkfifo”可以工作。

1 个答案:

答案 0 :(得分:1)

当您使用|运算符时,shell会创建一个匿名管道(例如“管道”,因为管道是匿名的):

grep example . -r | less

您无法使用一个命令创建管道,然后在以后使用另一个命令,而不是没有一些古怪的/proc技巧。如果您以后需要使用某些东西,则必须有一些名称来引用它,此时它不再是管道。请确保以正确的顺序连接每一端(在写入之前阅读)。

在引擎盖下,使用pipe()函数将管道创建为一对打开的文件句柄。调用pipe()后,shell会创建两个子进程,每个子进程在调用exec()之前选择管道的相应末尾。通常,不可能用自己的程序替换shell内置函数。其他示例包括cdexport

您可以使用pipe()在程序中自行创建管道。