次のコマンドを使用してシェル コマンドを実行しています (サブプロセスを作成しています)。
cmd = "ls"
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
次に、終了時にリターンコードを取得したいと思います。またはを使用する必要がありますwait()かpoll()?私には忙しい待機に囲まれているにwait()等しいようです。poll()何かのようなもの:
while process.poll() == None:
time.sleep(0.5)
バッファがいっぱいになるとwait()デッドロックが発生する可能性があることを読みました。上記のように使用すると、デッドロックが発生する可能性がありますか? これが本当なら、問題を解決するために使用する必要がありますか? 最近
は subprocess に興味があるときだけ使っています。stdout/stderrprocess.poll()process.comunicate()process.comunicate()stdout/stderr
前もって感謝します。