如何在Python中检查进程是否在运行

2 投票
1 回答
1435 浏览
提问于 2025-04-17 20:31

在C#中,我有:

Process.GetProcessesByName

我想在Python中找到类似的东西?

1 个回答

1

你可以使用 psutil 这个模块:

它目前支持 Linux、Windows、OSX、FreeBSD 和 Sun Solaris 系统,支持 32 位和 64 位的操作系统,并且可以在 Python 2.4 到 3.3 的版本上使用,都是基于同一套代码

首先,你需要安装它:

pip install psutil

然后,你可以做一些类似于 Process.GetProcessesByName 方法的事情:

这个方法会创建一个新的进程数组,并把它们和本地计算机上所有共享指定进程名称的进程资源关联起来。

代码:

import psutil

def get_processes_by_name(name):
    return [process for process in psutil.process_iter() if process.name == name]


print(get_processes_by_name('python'))

输出:

[<psutil.Process(pid=10217, name='python') at 44007184>, 
 <psutil.Process(pid=10223, name='python') at 44007312>
]

撰写回答