问题描述
如果我在 Python 中使用 subprocess.Popen 调用一个进程,如下所示:
If I invoke a process with subprocess.Popen in Python as follows:
myproc = subprocess.Popen(...).communicate()
查看其状态的正确方法是什么?不是输出到 stdout 或 stderr,而是完成后的退出状态(例如,0 表示成功或另一个表示失败)?
what is the correct way to see its status? Not its output to stdout or stderr, but its exit status once it's finished (e.g. 0 for success or another for failure)?
推荐答案
returncode确实是答案,但解决方案不需要复杂.
returncode is indeed the answer, but the solution doesn't need to be complicated.
process = subprocess.Popen(...) stdoutdata, stderrdata = process.communicate() print process.returncode
Python subprocess 文档中的更多信息.
More info in the Python subprocess docs.