使用communicate设置超时,并且获取输出
process = subprocess.Popen(cmd,stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE)
output, unused_err = process.communicate(timeout=30)
output = output.decode("utf-8")
print(output)
结束进程的方法
try:
process = subprocess.Popen(cmd,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
output, unused_err = process.communicate(timeout=30)
output = output.decode("utf-8")
print(output)
except Exception as e:
process.kill()
print(e, e.__traceback__.tb_lineno, '行')