Я инициализирую несколько асинхронных процессов, выполняющихся в фоновом режиме, на экране python. Теперь после инициализации я не могу уничтожить все эти фоновые процессы с помощью прерывания клавиатуры или ctrl + c
. Я нашел способ уничтожения любого отдельного процесса с помощью библиотеки psutil
. В этом коде мы перебираем весь запущенный процесс, используя функцию psutil.process_iter()
. Теперь, проверяя имя и идентификатор отдельного процесса, мы можем убить процесс.
import psutil
for proc in psutil.process_iter():
try:
# Get process name & pid from process object.
processName = proc.name()
processID = proc.pid
print(processName , ' ::: ', processID)
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
for proc in psutil.process_iter():
if proc.name() == "powershell.exe":
proc.kill()
Наша основная проблема заключается в том, что мы не можем завершить асинхронный процесс с помощью этого фрагмента кода, и я хочу уничтожить все процессы, которые инициализируются python одновременно, через любой python сценарий использования какая-то команда через терминал.