带有管道的子进程调用[重复]

Posted

技术标签:

【中文标题】带有管道的子进程调用[重复]【英文标题】:Subprocess call with pipe in it [duplicate] 【发布时间】:2016-12-22 00:16:16 【问题描述】:

我将如何在 python 中执行以下子进程命令?

$ ps aux|grep python

>>> subprocess.check_output(['ps', 'aux', 'grep', 'python']) ?

【问题讨论】:

您需要创建两个子进程,一个为ps aux,另一个为grep python。将第一个的输出管道连接到第二个的输入管道。 见***.com/questions/6780035/… 【参考方案1】:

您可以执行以下操作:

ps = subprocess.Popen(('ps', 'aux'), stdout=subprocess.PIPE)
output = subprocess.check_output(('grep', 'python'), stdin=ps.stdout)
ps.wait()

print output

【讨论】:

以上是关于带有管道的子进程调用[重复]的主要内容,如果未能解决你的问题,请参考以下文章