我使用以下命令来运行一个子进程:
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)
但它只返回:
([],[],[])
在任何一种情况下,我能做什么?