📜  使用Python按名称杀死进程(1)

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

使用Python按名称杀死进程

有时候我们需要在Python程序中杀死进程,比如在后台执行任务的时候需要停止某些任务。本文将介绍如何使用Python按名称杀死进程。

1. 获取进程列表

首先我们需要获取系统中所有进程的名称和进程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
2. 杀死进程

得到进程列表后,我们就可以根据进程名称杀死进程。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库。