[python]使用psutil模块判断程序是否在进程中

复制代码
import psutil
def ifProcessRunning(process_name='WeChat.exe'):
    # 判断某个程序是否在运行
    # 原理:获取正在运行程序的pid,通过pid获取程序名,再按程序名进行判断
    pl = psutil.pids()
    result = "PROCESS_IS_NOT_RUNNING"
    for pid in pl:
        if (psutil.Process(pid).name() == process_name):
            if isinstance(pid, int):
                result = "PROCESS_IS_RUNNING"
    return result

也可以使用下面方式

复制代码
import psutil
 
def is_process_running(process_name):
    for proc in psutil.process_iter(['name']):
        try:
            if process_name.lower() in proc.info['name'].lower():
                return True
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass
    return False
 
# 使用示例
if is_process_running('你的进程名'):
    print('进程正在运行')
else:
    print('进程未运行')
相关推荐
词却8 分钟前
Linux基础:常用基本命令与软件包管理
linux
辰辉创聚12 分钟前
In Vivo抗体是什么?| 体内抗体与普通科研抗体的区别
人工智能·python·时序数据库·in vivo抗体·体内抗体·体内级抗体
深圳市宝华视联15 分钟前
Python 读取 IP 视频流简单 Demo
python·嵌入式硬件·opencv·网络协议·tcp/ip·实时音视频·嵌入式实时数据库
前端snow15 分钟前
ai agent ---output汇总
前端
4311媒体网17 分钟前
帝国CMS网站自定义搭建技巧
服务器·开发语言·前端
JunjunZ19 分钟前
Vue 3 文件预览的通用设计与实现
前端·vue.js
CappuccinoRose19 分钟前
ES6+ 核心语法糖
前端·es6·解构·可选链·空值合并
两只羊ovo27 分钟前
Promise.all 并发请求实战:从串行 await 到双段并行
前端
门思科技33 分钟前
LoRaWAN Regional Parameters:为什么 CN470 和 EU868 的频点数不同
python·物联网
七牛开发者1 小时前
解读 Cordis:dsh 一切皆插件背后的运行时设计
前端·javascript·后端