python 判斷某個process是否存在
时间: 2023-12-11 09:03:30 浏览: 20
你可以使用 Python 的 `psutil` 模块来判断一个进程是否存在。具体步骤如下:
1. 使用 `psutil.pids()` 获取当前所有进程的 PID 列表。
2. 遍历 PID 列表,使用 `psutil.Process(pid)` 获取每个进程的 Process 对象。
3. 检查 Process 对象的 `name()` 方法的返回值是否等于目标进程的名称,如果相等,则说明该进程存在。
以下是一个示例代码:
```python
import psutil
def is_process_running(process_name):
for pid in psutil.pids():
try:
process = psutil.Process(pid)
if process.name() == process_name:
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return False
```
你只需要将 `process_name` 参数替换为你想要检查的进程名称即可。如果该进程存在,函数将返回 `True`,否则返回 `False`。注意,在 Windows 系统中,进程名称不包括后缀名,例如 `notepad.exe` 的进程名称是 `notepad`。
相关问题
如何用python判断是否有某个exe
文件在运行?
可以使用Python的psutil库来判断是否有某个exe文件在运行。以下是示例代码:
```python
import psutil
def check_process(exe_name):
for proc in psutil.process_iter():
try:
if exe_name.lower() in proc.name().lower():
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return False
```
其中,exe_name为要判断的exe文件名,不包含.exe后缀。如果返回True,则表示有该exe文件在运行,否则表示没有。
python 判断某个进程是否中断,如果中断重新运行此进程
可以使用 Python 的 subprocess 模块来启动进程,并使用 signal 模块来捕获进程的中断信号,如果进程中断则重新运行该进程。
以下是一个简单的示例代码:
``` python
import subprocess
import signal
# 启动进程
process = subprocess.Popen(['your_command'])
# 捕获中断信号
def handler(signum, frame):
# 重新启动进程
process = subprocess.Popen(['your_command'])
# 注册中断信号处理函数
signal.signal(signal.SIGINT, handler)
# 等待进程结束
process.wait()
```
在上面的代码中,我们使用 subprocess.Popen() 方法启动进程,并使用 signal.signal() 方法注册中断信号处理函数。当进程接收到中断信号时,会调用 handler() 函数重新启动该进程。最后,我们使用 process.wait() 方法等待进程结束。