stdout および場合によっては stderr に書き込むプログラムがあります。stdout と stderr をキャプチャして、python から実行したいと思います。私のコードは次のようになります:
from subprocess import *
p = Popen( exe, shell=TRUE, stdout=PIPE, stderr=PIPE )
rtrncode = p.wait()
いくつかのプログラムでは、これで問題なく動作しますが、新しいプログラムを追加すると、新しいプログラムが永久にハングします。を削除するstdout=PIPE
と、プログラムはその出力をコンソールに書き込み、終了し、すべて問題ありません。ハングの原因を特定するにはどうすればよいですか?
Windows XP で Python 2.5 を使用しています。プログラムは stdin から読み取りませんし、いかなる種類のユーザー入力 (つまり、「キーを押す」) もありません。