Python 获取 Windows 进程

1. 简介

在Windows操作系统中,进程是指正在运行的程序的实例。Python是一种功能强大的编程语言,可以用来获取和操作Windows系统中的进程信息。本文将介绍如何使用Python来获取Windows进程的相关信息。

2. 获取进程列表

要获取Windows系统中的进程列表,可以使用psutil库。psutil是一个跨平台的库,提供了获取系统信息的接口。要使用psutil库,首先需要安装它:

!pip install psutil

安装完成后,可以使用以下代码获取进程列表:

import psutil

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

# 遍历进程列表并打印进程ID和名称
for process in processes:
    print("进程ID: {}, 进程名称: {}".format(process.pid, process.name()))

上述代码使用process_iter()函数获取所有进程的迭代器,然后使用pidname()方法分别获取进程的ID和名称。

3. 获取进程详细信息

除了获取进程的基本信息外,还可以获取进程的详细信息,如进程的命令行参数、启动时间、使用的CPU和内存等。以下代码演示了如何获取进程的详细信息:

import psutil

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

# 遍历进程列表并打印进程详细信息
for process in processes:
    try:
        # 获取进程详细信息
        process_info = process.as_dict(attrs=['pid', 'name', 'cmdline', 'create_time', 'cpu_percent', 'memory_info'])
        
        # 打印进程详细信息
        print("进程ID: {}".format(process_info['pid']))
        print("进程名称: {}".format(process_info['name']))
        print("命令行参数: {}".format(process_info['cmdline']))
        print("启动时间: {}".format(process_info['create_time']))
        print("CPU使用率: {}".format(process_info['cpu_percent']))
        print("内存使用情况: {}".format(process_info['memory_info']))
        print()
    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
        pass

上述代码使用as_dict()方法获取进程的详细信息,并指定了需要获取的属性,如pidnamecmdlinecreate_timecpu_percentmemory_info等。然后,使用print()函数打印进程的详细信息。

4. 杀死进程

除了获取进程信息外,还可以使用Python来杀死进程。以下代码演示了如何杀死指定进程:

import psutil

# 根据进程名称查找进程
def find_process_by_name(process_name):
    processes = psutil.process_iter(attrs=['name'])
    for process in processes:
        if process.info['name'] == process_name:
            return process
    return None

# 杀死进程
def kill_process(process):
    process.kill()

# 指定进程名称
process_name = "notepad.exe"

# 查找进程并杀死
process = find_process_by_name(process_name)
if process:
    kill_process(process)
    print("成功杀死进程: {}".format(process_name))
else:
    print("未找到进程: {}".format(process_name))

上述代码通过find_process_by_name()函数根据进程名称查找进程,并返回psutil.Process对象。然后,使用kill_process()函数杀死进程。

结论

本文介绍了如何使用Python获取Windows系统中的进程信息,包括获取进程列表、获取进程详细信息和杀死进程。通过使用psutil库,我们可以方便地获取和操作Windows进程的相关信息,从而更好地管理和监控系统进程。

参考资料

  • [psutil官方文档](