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()
函数获取所有进程的迭代器,然后使用pid
和name()
方法分别获取进程的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()
方法获取进程的详细信息,并指定了需要获取的属性,如pid
、name
、cmdline
、create_time
、cpu_percent
和memory_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官方文档](