当通过其他命令管道传输时,pgrep 将返回额外的进程
这是一个非常奇怪的问题,关于使用 pgrep 搜索哪些 shell 进程正在运行与当前脚本相同的脚本。 以下是测试脚本测试文件 #!/bin/bash full_res=`pgrep -a -l -f 'test\.sh'` res=$(pgrep -a -l -f 'test\.sh' | cat) echo "short result is $full_res" echo "weird result is $res" 输出为 sh test.sh & [1] 19992 ➜ logs short result is 19992 sh ...