我想subprocess.check_output()与ps -A | grep 'process_name'. 我尝试了各种解决方案,但到目前为止没有任何效果。有人可以指导我怎么做吗?
subprocess.check_output()
ps -A | grep 'process_name'
要在模块中使用管道subprocess,您必须通过shell=True.
subprocess
shell=True
但是,由于各种原因,这并不是真正可取的,尤其是安全性。相反,分别创建psandgrep进程,并将输出从一个管道传输到另一个进程,如下所示:
ps
grep
ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE) output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout) ps.wait()
但是,在您的特定情况下,简单的解决方案是调用subprocess.check_output(('ps', '-A'))然后str.find输出。
subprocess.check_output(('ps', '-A'))
str.find