我使用以下代码运行子进程:
p = subprocess.Popen("subprocess",
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
stdin=subprocess.PIPE)
这个子进程可能立即通过stderr退出错误,也可能继续运行。我想检测这些条件中的任何一个——后者通过等待几秒钟来实现。
我尝试了这个:
SECONDS_TO_WAIT = 10
select.select([],
[p.stdout, p.stderr],
[p.stdout, p.stderr],
SECONDS_TO_WAIT)
但它只是返回:
([],[],[])
任何一种情况下,我能做什么?