Я запускаю подпроцесс, используя:
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)
но он просто возвращает:
([],[],[])
в любом условии. Что я могу сделать?