【发布时间】:2018-06-26 13:31:52
【问题描述】:
我正在阅读what's a pipe in an operating system,但有些东西我不明白。
采用一系列 unix 管道字符分隔的命令,例如
cat file | grep "something"
处理管道| 时会发生什么?我知道通过 pipe() 函数打开了一个 unix 管道,但我看不到在所涉及的任何进程中如何在这里发生“分叉”。
会发生什么以及如何涉及分叉(如果有的话)?
【问题讨论】:
-
如果对
fork感到困惑,请不要将问题与管道混淆。当您在交互式 shell 中键入cat file时,就会发生分叉。您需要先了解这一点。