Как убить процесс с минимальным потреблением процессора
Я искал сценарий 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()
Сценарий работает нормально, но он потребляет большую часть моего процессора.
Без запуска скрипта
Пока работает скрипт
Есть ли способ минимизировать это потребление? Почему он потребляет так много процессора?
Мой процессор: Intel(R) Core(TM) i5-7200U CPU @ 2,50 ГГц
1 ответ
import time
и бросить time.sleep(some small time frame)
в вашей петле.
дела while True
без перерыва собирается побить ваш процессор.