[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('进程未运行')
相关推荐
Benszen13 小时前
Linux容器简介
linux·运维·服务器
剑神一笑13 小时前
Linux iptables 深度解析:从规则匹配到 NAT 转发实战
linux·运维·服务器
keyipatience13 小时前
23(半)24磁盘和EXT2文件系统
linux·运维
实心儿儿13 小时前
Linux —— 线程互斥和同步
linux
minji...13 小时前
Linux 高级IO(七)多进程、多线程的Reactor反应堆模式扩展、OTOL
linux·运维·c++·多路转接·epoll·reactor反应堆模型
梦想的颜色13 小时前
Docker 入门指南:从零开始掌握容器化技术
运维·服务器·vscode·python·算法·docker·云原生
handler0113 小时前
【Linux 网络】:poll/epoll 底层机制与 Reactor 并发模型
linux·运维·服务器·网络·c++·多路转接·多路复用
Soari13 小时前
GitHub 开源项目解析:D4Vinci/Scrapling —— Python 网页抓取与自动化处理工具
python·开源·github·python爬虫·网页抓取·异步抓取
oort12313 小时前
VLStream 全开源决策式 AI 视频平台 技术视角完整说明
大数据·开发语言·人工智能·经验分享·python·开源·音视频
kebidaixu13 小时前
深入解析 Linux GPIO 采集与控制程序(DI/DO 篇)
linux