📅  最后修改于: 2023-12-03 15:22:20.279000             🧑  作者: Mango
有时候我们需要在Python程序中杀死进程,比如在后台执行任务的时候需要停止某些任务。本文将介绍如何使用Python按名称杀死进程。
首先我们需要获取系统中所有进程的名称和进程ID。使用Python内置的psutil
库可以方便地实现这一功能。psutil
支持跨平台(Windows、Linux等)获取系统信息,包括CPU、内存、硬盘、网络、进程等。
代码如下:
import psutil
for proc in psutil.process_iter():
try:
# 获取进程详情
pinfo = proc.as_dict(attrs=['pid', 'name'])
except psutil.NoSuchProcess:
pass
else:
# 打印进程名称和进程ID
print(pinfo['name'], pinfo['pid'])
运行结果如下:
System Idle Process 0
System 4
Registry 96
smss.exe 408
csrss.exe 644
wininit.exe 688
得到进程列表后,我们就可以根据进程名称杀死进程。psutil
库提供了丰富的API可以方便地实现进程的控制。例如:
import psutil
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name'])
except psutil.NoSuchProcess:
pass
else:
if pinfo['name'] == 'chrome.exe': # 杀死chrome进程
proc.kill()
在上面的代码中,我们通过循环逐个获取系统中的进程,如果进程名称与目标进程名称相同,则调用proc.kill()
方法杀死该进程。
除了proc.kill()
方法,psutil
库还提供了其他方法,例如proc.terminate()
、proc.suspend()
、proc.resume()
等。
本文介绍了如何使用Python按名称杀死进程。psutil
库提供了丰富的API,可以方便地实现进程的获取和控制。如果您需要在Python程序中对进程进行控制,强烈推荐使用psutil
库。