首页 > 解决方案 > Python 检查进程是否正在运行,然后重新执行

问题描述

我正在尝试创建一个 python 脚本来检查程序是否正在运行,如果这个程序没有运行,这个程序必须用这个 python 脚本自动重新执行

我发现基于 unix 的操作系统上的进程会创建一个锁定文件来通知程序当前正在运行,此时我们可以使用 os.stat(location_of_file) 来检查文件是否存在以确定程序是否正在运行或不是。

是否在 Windows 上创建了类似的锁定文件?

如果不是,那么 Python 中有哪些方法可以确定进程是否正在运行?

我正在使用 python 2.7

标签: pythonprocessshellexecute

解决方案


这将按名称列出您的所有进程和匹配进程。如果找到进程,则中断循环。

 import psutil
 process = psutil.pids()
 for id in process:
     proc = psutil.Process(id)
     if proc.name() == "some process": # add here your process name
         print("Found")
         break 

推荐阅读