[root@myvm1 ~]# ps aux | grep ls
root 13594 0.0 0.1 3912 672 pts/1 R+ 09:46 0:00 grep ls
在上面的代码中,ps aux
先运行,然后其输出重定向到grep ls
命令。grep ls
命令在 之后运行ps aux
。
那么为什么可以ps
知道在其之后运行的进程并将其包含在其输出中?
答案1
在上面的代码中,
ps aux
先运行,然后其输出重定向到grep ls
命令。grep ls
命令在 之后运行ps aux
。那么为什么可以
ps
知道在其之后运行的进程并将其包含在其输出中?
您正在编写有关命令排序的逻辑顺序。
如果您深入了解 bash 过程,您就会知道命令和管道框架可能按照并不重要的顺序创建。
此外,管道框架很可能是命令输出重定向。
您的答案是:该命令ps
实际上是在将要运行的进程grep
创建之后运行的。