我正在 Python 中使用 subprocess.Popen
启动多个子进程。
我想检查一个这样的过程是否已经完成。我找到了两种检查子流程状态的方法,但似乎都强制流程完成。
一种是使用 process.communicate()
并打印返回码,如下所述:checking status of process with subprocess.Popen in Python .
另一个是简单地调用 process.wait()
并检查它是否返回 0。
有没有办法检查一个进程是否仍在运行,而无需等待它完成?
最佳答案
Ouestion: ... a way to check if a process is still running ...
例如,您可以这样做:
p = subprocess.Popen(...
"""
A None value indicates that the process hasn't terminated yet.
"""
poll = p.poll()
if poll is None:
# p.subprocess is alive
Python » 3.6.1 Documentation popen-objects
用 Python:3.4.2 测试
关于python - 有没有办法检查子进程是否仍在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43274476/