【发布时间】:2021-07-22 11:28:44
【问题描述】:
对于像ps aux |grep foobar 这样的典型命令,为什么会输出grep foobar 进程?
我在想ps aux 输出被传递给 grep 以通过 grep 参数中的模式过滤行但是在你执行ps aux grep 时仍然没有执行(至少这是我的假设,我是肯定错了),稍后执行。
那么管道是如何工作的呢?
【问题讨论】:
对于像ps aux |grep foobar 这样的典型命令,为什么会输出grep foobar 进程?
我在想ps aux 输出被传递给 grep 以通过 grep 参数中的模式过滤行但是在你执行ps aux grep 时仍然没有执行(至少这是我的假设,我是肯定错了),稍后执行。
那么管道是如何工作的呢?
【问题讨论】:
原因很简单:
grep 进程(作为管道目标)。ps,发现grep正在运行。ps 的标准输出连接到grep 的标准输入。【讨论】: