マルチプロセスプログラミング2

========== python開発技術の詳細


os.system の子プロセスは終了後に制御をpythonに戻します; os.execはpythonプロセスを引き継ぎ、制御をpythonに戻しません。execがpythonで呼び出されてメモ帳を開くと、元のpythonインタープリターは終了します。

exitは穏やかな方法でプロセスを終了でき
ます
。abort はプロセスを激しく終了します/////////////////////
サブプロセスは、プロセス管理用の高度なモジュールとして、1つのクラスと2つの機能を提供しますプロセスを管理するため。
subprocess.popenのシェル:シェルがfalseの場合、popenはos.execvpを呼び出して対応するプログラムを実行します。ただし、シェルがtrueの場合、コマンドが文字列であれば、popenはシステムシェルを直接呼び出して、指定されたプログラムを実行します。

コマンドがシーケンスの場合、最初の項目はコマンド文字列で、その他の項目はコマンドの追加パラメーターです。

子プロセスの終了を待つ必要がある場合は、popenクラスのwait()関数を使用できます。
子プロセスの入力と出力を管理する必要がある場合は、popenクラスのstdin、stdout、およびstderrを変更できます。

結果を出力した後、stdoutは読み取り可能な出力オブジェクトになります

  データはメモリにキャッシュされるため、データ量が多い場合は、通信を使用しないでください

 サブプロセスの呼び出しとcheck_allはpopenの単純化であり、呼び出しはサブプロセスを直接生成し、サブプロセスが終了するの待つことができます。check_allとcallの違いは、戻り値が0でない場合、例外CallProcessErrorがトリガーされ、例外オブジェクトの戻り値に戻り値があることです。

おすすめ

転載: www.cnblogs.com/testzcy/p/12756207.html