要查看由Python中的subprocess模块创建的子进程是否正在运行,你可以使用psutil库来获取有关进程的信息。psutil是一个Python库,提供了检索有关运行中进程和系统利用率的信息的接口。
以下是一个简单的示例,演示了如何使用psutil来检查一个由subprocess启动的进程是否正在运行:
- import psutil
- import subprocess
- import time
-
- # 启动一个子进程
- process = subprocess.Popen(['ping', '127.0.0.1'])
-
- time.sleep(5) # 给进程一些时间运行
-
- # 检查进程是否在运行
- while True:
- if psutil.pid_exists(process.pid):
- print("进程正在运行")
- time.sleep(1)
- else:
- print("进程已经结束")
- break
在上述示例中,我们启动了一个ping命令的子进程,然后使用psutil来检查该进程是否在运行。我们使用psutil.pid_exists函数来检查子进程的PID是否仍然在系统中存在,如果存在则表明进程正在运行。