python 通过程序名判断程序是否已运行
时间: 2024-10-15 14:10:47 浏览: 23
python每天定时运行某程序代码
5星 · 资源好评率100%
在Python中,你可以通过操作系统的进程管理功能来判断某个程序是否已经运行。这里有几种常见方法:
1. **`psutil`** 库:这是一个跨平台的库,提供详细的进程信息。首先安装这个库(如果未安装),可以使用`pip install psutil`。然后你可以这样做:
```python
import psutil
def is_process_running(process_name):
for proc in psutil.process_iter(['name']):
if proc.info['name'] == process_name:
return True
return False
process_name = 'my_program'
if is_process_running(process_name):
print(f"{process_name} 正在运行")
else:
print(f"{process_name} 已经停止")
```
2. **`subprocess`** 核心库:尽管不是专门用于检查进程,但你可以尝试运行一个简单的命令来查找进程是否存在错误。如果程序不存在,`subprocess.run`会返回非零退出码。
```python
import subprocess
def is_process_running(process_name):
try:
subprocess.check_output(["pgrep", "-f", process_name])
return True
except subprocess.CalledProcessError:
return False
# 同上
process_name = 'my_program'
if is_process_running(process_name):
# 程序运行
else:
# 程序未运行
```
这两个方法都是基于进程名称来查找,所以程序需要有明确的标识符。注意,如果你的应用程中包含可执行文件的完整路径,这种方法可能会更可靠。
阅读全文