【发布时间】:2015-09-21 15:13:01
【问题描述】:
我正在编写一个简单的 shell,我想实现一个管道。
那么,让我们考虑一下:
<command1> | <command2> | <command3> | ...
现在,我的想法是:
为他启动 command1 和 waitpid。然后为他运行 command2 和 waitpid。以此类推。
这是个好主意吗?
-
如何实现?:
<command1> | <command2> | <command3> &
【问题讨论】:
-
我认为这不是一个好主意。如果这样做,则必须将 command1 的所有输出(可能非常大)保存到某个地方(内存或磁盘),然后将其传递给 command2。