gpt4 book ai didi

Python 子进程调用挂起?

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:54 26 4
gpt4 key购买 nike

Python 中的子进程调用会挂起吗?也就是说,子进程调用是在与其余 Python 代码相同的线程中运行,还是非阻塞模型?我在文档或 SO 上找不到任何关于此事的内容。谢谢!

最佳答案

subprocess 模块中的大多数方法都是阻塞的,这意味着它们希望子进程在返回之前完成。然而,subprocess.Popen是非阻塞的。

result = subprocess.call(cmd) # This will block until cmd is complete
p = subprocess.Popen(cmd) # This will return a Popen object right away

一旦你有了Popen对象,你就可以使用poll实例方法来查看子进程是否完成而没有阻塞。

if p.poll() is None: # Make sure you check against None, since it could return 0 when the process is complete.
print "Process is still running"

关于Python 子进程调用挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24514129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com