Как убить весь фоновый асин c процесс, проходящий через python? - PullRequest
0 голосов
/ 11 апреля 2020

Я инициализирую несколько асинхронных процессов, выполняющихся в фоновом режиме, на экране 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 сценарий использования какая-то команда через терминал.

...