如何以最低的处理器消耗来杀死进程

时间:2018-05-06 20:15:01

标签: python kill-process psutil

我正在寻找一个python脚本来杀死特定的运行进程。我有一个脚本来获取所有当前正在运行的进程的列表。所以我做了一些修改,它的工作原理如下:

名为blackList的列表存储了所有需要被杀死的不需要的进程。该脚本遍历获取的进程名称并与blackList的内容进行比较。如果匹配,则该过程终止。

代码:

import psutil

blackList = ["SkypeHost.exe", "Music.UI.exe", "SearchUI.exe", "Video.UI.exe", "backgroundTaskHost.exe"]

while True:
  for proc in psutil.process_iter():
    try:
        pinfo = proc.as_dict(attrs=['pid', 'name', 'username'])
    except psutil.NoSuchProcess:
        pass
    else:
        for i in blackList:
            if pinfo["name"] == i:
                proc.kill()

该脚本工作正常,但它占用了我的大部分处理器。

不运行脚本

Without running the script

脚本正在运行

While Script is running

有没有办法减少这种消费?为什么消耗这么多处理器呢?

我的处理器:Intel(R)Core(TM)i5-7200U CPU @ 2.50GHz

1 个答案:

答案 0 :(得分:1)

import time

并在循环中抛出time.sleep(some small time frame)

不间断地执行while True会破坏你的cpu。