如何以最少的处理器消耗终止进程
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 崩溃。
我正在寻找一个 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 崩溃。