Python的 - 杀挂起进程开始使用subprocess.Popen
问题描述:
我已经开始使用一个子进程:Python的 - 杀挂起进程开始使用subprocess.Popen
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate()[0]
有时命令cmd
挂,所以我的Python脚本也挂在这一点上。
我想让它运行一段时间(10秒?),如果我没有得到响应,那么简单地杀死进程并继续使用我的脚本。
我该怎么做?
答
如果你使用python 3,Popen.communicate
有超时kwarg:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate(timeout=10)[0]
答
从subprocess documentationproc.terminate()
是你什么是正在寻找
+0
是的,我能做到这一点,但什么都可以“ t do等待10秒,然后选择放弃。我怎么做? – jlconlin
多方便。我应该更仔细地阅读文档。 – jlconlin