如何以最少的处理器消耗终止进程

How To Kill Process With Minimum Processor Consumption

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

名为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

import time

并在你的循环中抛出一个 time.sleep(some small time frame)

不间断地做 while True 会让你的 cpu 崩溃。