我想创建一个未命名的管道。在ubuntu 14上,我尝试了“管道”,没有工作,也找不到与互联网搜索。对于命名管道,"mkfifo“起作用。
发布于 2016-03-14 05:52:17
匿名管道(也称为“管道”,因为管道是匿名的)是在您使用|操作符时由shell创建的:
grep example . -r | less您不能用一个命令创建管道,然后再用另一个命令使用它,除非有一些古怪的/proc技巧。如果您稍后需要使用某项内容,则必须使用某个名称来引用它,此时它不再是一个管道。只需确保以正确的顺序连接每一端(先读后写)。
在幕后,使用pipe()函数将管道创建为一对打开的文件句柄。在调用pipe()之后,外壳程序创建两个子进程,每个子进程在调用exec()之前选择适当的管道末端。一般来说,不可能用您自己的程序替换shell内置。其他的例子是cd和export。
可以使用pipe()在程序中自己创建管道。
https://stackoverflow.com/questions/35976075
复制相似问题