У меня есть программа, которая записывает в stdout и, возможно, stderr. Я хочу запустить его из python, захватив stdout и stderr. Мой код выглядит так:
from subprocess import *
p = Popen( exe, shell=TRUE, stdout=PIPE, stderr=PIPE )
rtrncode = p.wait()
Для нескольких программ это прекрасно работает, но когда я добавил новый, новый висит навсегда. Если я удаляю stdout=PIPE
, программа записывает свой вывод в консоль и заканчивается, и все в порядке. Как я могу определить, что вызывает зависание?
Использование python 2.5 в Windows XP. Программа не читает от stdin и не имеет какого-либо пользовательского ввода (т.е. "Нажмите клавишу" ).