我正在使用该subprocess
模块来确定进程是否正在运行。但是当查找过程不存在时,结果就不同了。
例如,在shell中,如果进程python test.py
不存在,则输出ps -ef|grep python|grep test|awk '{print $2}'
为空。但是在python中:
cmd="ps -ef|grep python|grep test|awk '{print $2}'"
vp=subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True)
r=vp.communicate()[0]
输出r
不是无。它是执行的 shell 的 pid cmd
。
那么如何得到想要的结果呢?