終了 - python subprocess 非同期




サブプロセスがまだ実行されているかどうかを確認する方法はありますか? (2)

憂鬱 :...プロセスがまだ実行中かどうかをチェックする方法...

あなたはそれを例えば以下のようにすることができます:

p = subprocess.Popen(...
"""
A None value indicates that the process hasn't terminated yet.
"""
poll = p.poll()
if poll == None:
  # p.subprocess is alive

Python»3.6.1ドキュメントpopen-objects

Pythonでテスト済み:3.4.2

私は、subprocess.PopenでいくつかのサブプロセスをPythonで起動しています。 そのようなプロセスが完了したかどうかをチェックしたいと思います。 私はサブプロセスの状態をチェックする2つの方法を見つけましたが、どちらもプロセスを強制的に完了させるようです。 here説明hereように、process.communicate()を使用してリターンコードを出力していhere 。 もう1つは単にprocess.wait()を呼び出して、0を返すかどうかを確認することです。

プロセスが完了するのを待たずにプロセスがまだ実行されているかどうかを確認する方法はありますか?


subprocess.check_outputを使用すると、出力を見ることができます。

このコードを試してください:

import subprocess
subprocess.check_output(['your command here'], shell=True, stderr=subprocess.STDOUT)

これが助けて欲しい!





subprocess