Python - 终止使用 subprocess.Popen 启动的挂起进程
Python - kill hung process started using subprocess.Popen
我已经启动了一个子流程:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate()[0]
有时命令 cmd
会挂起,所以我的 Python 脚本此时也会挂起。
我想让这个 运行 持续一段时间(10 秒?),如果我没有得到响应,那么只需终止进程并继续我的脚本。
我该怎么做?
来自 subprocess documentation proc.terminate()
就是您要找的东西
如果您使用的是 python 3,Popen.communicate
有一个超时参数:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate(timeout=10)[0]
我已经启动了一个子流程:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate()[0]
有时命令 cmd
会挂起,所以我的 Python 脚本此时也会挂起。
我想让这个 运行 持续一段时间(10 秒?),如果我没有得到响应,那么只需终止进程并继续我的脚本。
我该怎么做?
来自 subprocess documentation proc.terminate()
就是您要找的东西
如果您使用的是 python 3,Popen.communicate
有一个超时参数:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output = proc.communicate(timeout=10)[0]