在 Python 中使用 subprocess.Popen 检查进程的状态

2022-01-12 00:00:00 python multiprocessing

问题描述

如果我在 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.

相关文章