下面是运行任意命令返回其stdout
个数据或对非零退出代码引发异常的Python代码:
proc = subprocess.Popen(
cmd,
stderr=subprocess.STDOUT, # Merge stdout and stderr
stdout=subprocess.PIPE,
shell=True)
communicate
用于等待进程退出:
stdoutdata, stderrdata = proc.communicate()
subprocess
模块不支持超时--能够终止运行超过X秒的进程--因此,communicate
可能需要花费很长时间才能运行.
在Windows和Linux上运行的Python程序中实现超时的simplest种方式是什么?