【发布时间】:2013-11-26 11:36:13
【问题描述】:
我最近在 Python 中注意到 subprocess.Popen() 有一个参数:
stdout=None(default)
我还看到人们使用 stdout=subprocess.PIPE。
有什么区别?我应该使用哪一个?
另一个问题是,为什么 wait() 函数有时不能等到进程真正完成?我用过:
a = sp.Popen(....,shell=True)
a.wait()
a2 = sp.Popen(...,shell=True)
a2.wait()
有时 a2 命令在命令 a 完成之前执行。
【问题讨论】:
-
在其他示例中,人们是否将其中一个的输出用作下一个流程的输入?
-
您如何确定子流程并未真正完成?
process.wait()在子进程退出之前不会返回,但如果子进程有自己的子进程,那么它可能会在其所有子进程完成之前退出
标签: python subprocess stdout