Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 与ps | wc的计数差异_Bash_Ps_Wc - Fatal编程技术网

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命令和管道非常陌生。