📌  相关文章
📜  Python – 获取正在运行的进程列表(1)

📅  最后修改于: 2023-12-03 15:04:13.401000             🧑  作者: Mango

Python - 获取正在运行的进程列表

在某些应用中,我们需要获取系统正在运行的进程列表。Python的psutil库提供了一个易用的接口来检索此信息。

安装psutil库

使用以下命令可以安装psutil库:

pip install psutil
获取进程列表

以下代码使用psutil获取当前正在运行的进程列表:

import psutil

# 获取当前进程列表
processes = psutil.process_iter()

for process in processes:
    print(process)

输出如下:

psutil.Process(pid=0, name='kernel_task', started='2019-01-01 00:00:00')
psutil.Process(pid=1, name='launchd', started='2019-01-01 00:00:00')
psutil.Process(pid=2, name='UserEventAgent', started='2019-01-01 00:00:00')
psutil.Process(pid=3, name='kextd', started='2019-01-01 00:00:00')
...
获取进程详细信息

以下代码使用psutil获取当前正在运行的进程的详细信息:

import psutil

# 获取当前进程列表
processes = psutil.process_iter()

for process in processes:
    process_info = process.as_dict(attrs=['pid', 'name', 'username'])
    print(process_info)

输出如下:

{'pid': 0, 'name': 'kernel_task', 'username': 'root'}
{'pid': 1, 'name': 'launchd', 'username': 'root'}
{'pid': 2, 'name': 'UserEventAgent', 'username': 'root'}
{'pid': 3, 'name': 'kextd', 'username': 'root'}
...
获取指定进程信息

以下代码使用psutil获取指定进程的详细信息:

import psutil

# 获取进程列表
processes = psutil.process_iter()

for process in processes:
    process_info = process.as_dict(attrs=['pid', 'name'])

    # 将需要查找的进程名称填充到下面的if语句中
    if process_info.get('name') == 'python':
        print(process_info)

输出如下:

{'pid': 1234, 'name': 'python'}
结束进程

以下代码使用psutil结束指定的进程:

import psutil

# 获取进程列表
processes = psutil.process_iter()

for process in processes:
    process_info = process.as_dict(attrs=['pid', 'name'])

    # 将需要结束的进程名称填充到下面的if语句中
    if process_info.get('name') == 'python':
        process.kill()
总结

使用psutil库,可以很容易地获取系统正在运行的进程列表,并对进程进行管理,如获取详细信息和结束进程等操作。