pythonでどのようにプロセス状態を確認するか
Pythonのsubprocessモジュールを使用して、プロセスのステータスをチェックできます。
以下に示すコードの例は、subprocess.Popen 関数を使用してプロセスを開始し、poll メソッドを使用してプロセスの終了を判定することができます。
import subprocess
def check_process_status(process):
if process.poll() is None:
print("进程正在运行")
else:
print(f"进程已结束,退出码为 {process.returncode}")
def main():
command = ["python", "test.py"] # 用于启动的命令
process = subprocess.Popen(command)
check_process_status(process)
if __name__ == "__main__":
main()
上記のコードでは、subprocess.Popen 関数はプロセスを起動し、Popen オブジェクトを返します。poll メソッドを使用してこのプロセスのステータスを確認できます。返り値が None の場合は、プロセスは依然として実行中です。返り値が None ではない場合は、プロセスは終了しており、returncode 属性からプロセスの終了コードを取得できます。
`poll`メソッドでは、プロセスが終了した状態を確認できるだけで、詳細なプロセス情報を取得することはできません。詳細なプロセス状態情報を取得する必要がある場合は、`psutil`ライブラリを使用すると、より多くのプロセス操作およびクエリメソッドが提供されます。