外部プロセスを実行するために使用するこの小さなユーティリティ関数があります。場合によっては、プロセスの出力を読み取ろうとするとハングします。出力読み取り行をコメントアウトすると、機能します。
def execute(command, cwd):
command = command.split(' ')
process = Popen(command,
stderr=STDOUT, stdout=PIPE,
cwd = cwd)
# WITHOUT THIS IT WORKS
#for line in process.stdout:
# log.info('executing %s for user %s: %s' % (command, user.username, line))
# ANOTHER TRY AT READING THE OUTPUT. ALSO MAKES IT HANG
#output = p.communicate()[0]
#log.info('executing %s for user %s: %s' % (command, user.username, output))
process.wait()
何か助けはありますか?デバッグ目的で出力する必要があります。