Python-如何在管道上使用`subprocess`命令
我想搭配subprocess.check_output()
使用ps -A | grep 'process_name'
。我尝试了各种解决方案,但到目前为止没有任何效果。有人可以指导我怎么做吗?
回答:
将管道与subprocess
模块一起使用,必须通过shell=True
。
但是,出于种种原因,这并不是真正可取的选择,其中不仅包括安全性。相反,请分别创建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
在输出上。
以上是 Python-如何在管道上使用`subprocess`命令 的全部内容, 来源链接: utcz.com/qa/416014.html