1. ホーム
  2. python

[解決済み] サブプロセスがまだ実行されているかどうかを確認する方法はありますか?

2023-04-15 03:06:55

質問

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

プロセスが実行されている場合、その完了を待たずにまだ実行されているかどうかをチェックする方法はありますか?

どのように解決するのですか?

質問 : ... プロセスがまだ実行されているかどうかを確認する方法です ...

例えばこんなことができます。

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

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

Python:3.4.2 でテスト済みです。