我正在尝试执行如下命令,但它在try
块中是STUCK,如下所示,直到超时启动,python脚本独立执行,任何人都可以建议为什么这样以及如何调试这个?
cmd = "python complete.py"
proc = subprocess.Popen(cmd.split(' '),stdout=subprocess.PIPE )
print "Executing %s"%cmd
try:
print "In try" **//Stuck here**
proc.wait(timeout=time_out)
except TimeoutExpired as e:
print e
proc.kill()
with proc.stdout as stdout:
for line in stdout:
print line,
答案 0 :(得分:1)
proc.stdout
无法读取。相反,您需要在进程运行时读取它。 communicate()
会为你做到这一点,但既然你没有使用它,你就可以自己做。
现在,你的进程几乎肯定会挂起来试图写入它的stdout - 它无法做到,因为管道的另一端没有被读取。