У меня есть программа, которая пишет в 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. Программа не читает со стандартного ввода и не имеет какого-либо пользовательского ввода (то есть «нажать клавишу»).