如何用python程序监控另一个python程序是否正在运行
时间: 2024-10-23 14:14:07 浏览: 20
在Python中,可以使用`subprocess`模块或者第三方库如`psutil`来监控其他Python程序是否正在运行。这里我会介绍两种方法:
### 使用`subprocess`
1. **通过命令行查询**:
```python
import subprocess
def is_running(process_name):
try:
# 使用Popen获取PID,如果进程不存在会抛出CalledProcessError异常
output = subprocess.check_output(["pgrep", "-f", process_name])
return True
except subprocess.CalledProcessError:
return False
target_process_name = "your_program_name"
if is_running(target_process_name):
print(f"{target_process_name} 正在运行")
else:
print(f"{target_process_name} 已经停止")
```
### 使用`psutil`
2. **使用psutil库**:
```python
import psutil
def is_running(process_name):
for proc in psutil.process_iter(['name']):
if proc.info['name'] == process_name:
return True
return False
target_process_name = "your_program_name"
if is_running(target_process_name):
print(f"{target_process_name} 正在运行")
else:
print(f"{target_process_name} 似乎已经退出或未启动")
```
这两个方法都会尝试查找指定名称的进程,如果找到就认为进程正在运行,反之则认为已停止。
阅读全文