Bash 与ps | wc的计数差异
当我打印流程时,我得到:Bash 与ps | wc的计数差异,bash,ps,wc,Bash,Ps,Wc,当我打印流程时,我得到: $ ps --no-headers 12961 pts/0 00:00:00 bash 16676 pts/0 00:00:00 ps 因此,它们只是两个过程。然而,当我这样做时: $ ps --no-headers | wc -l 3 知道为什么吗?您的wc流程是第三个。因此,计数在这两种情况下都是正确的,并且一切正常。管道处理在点击enter后立即开始,而不是在ps完成并输出输出后 如果不希望发生这种情况,可以使用临时文件 ps --no-heade
$ ps --no-headers
12961 pts/0 00:00:00 bash
16676 pts/0 00:00:00 ps
因此,它们只是两个过程。然而,当我这样做时:
$ ps --no-headers | wc -l
3
知道为什么吗?您的wc流程是第三个。因此,计数在这两种情况下都是正确的,并且一切正常。管道处理在点击enter后立即开始,而不是在ps完成并输出输出后 如果不希望发生这种情况,可以使用临时文件
ps --no-headers > /tmp/foo
wc -l /tmp/foo
将再次产生两个 谢谢,这正是我所怀疑的,但我对bash命令和管道非常陌生。