subprocess.callがN回呼び出された場合、Nサブプロセスが作成されるかどうかは疑問です。Pythonでは、呼び出されるたびにsubprocess.callが個々のサブプロセスを生成しますか?
サブプロセスはいつ終了しますか?私はそれを手動で殺すべきですか?
サブプロセスはどうですか?
subprocess.callがN回呼び出された場合、Nサブプロセスが作成されるかどうかは疑問です。Pythonでは、呼び出されるたびにsubprocess.callが個々のサブプロセスを生成しますか?
サブプロセスはいつ終了しますか?私はそれを手動で殺すべきですか?
サブプロセスはどうですか?
subprocess.call
は、呼び出されるたびにプロセスを作成し、コマンドが完了するのを待ちます。したがって、コマンドが完了するのを待つという性質のため、実際の並列処理はありません。
subprocess.Popen
も、呼び出されるたびにプロセスを作成しますが、コマンドが完了するまで待機しません。 communicate
を使用すると、コマンドが完了するまで待つか、kill
に電話をかけることができます。
これをまとめます。 subprocess.Popen
を使用すると、作成したプロセスをより詳細に管理できます。私はちょうど1であることが好ましく、コマンド、os.systemとsubprocess.callを実行したい場合はpython documentation
はい、subprocess.call()
またはその親族のいずれか(Popen()
など)に電話するたびに、新しいプロセスが生成されます。通常はサブプロセスを明示的に終了する必要はありません。終了するまで待つだけです。
に記載
? –
python 3.5には、同じ種類のことをする新しい**実行**機能があります。 –
コマンドを実行してそれが完了するのを待っていれば 'subprocess.call'は良いはずです;) – salomonderossi