Python завершение процесса в Windows

Рейтинг: 0Ответов: 1Опубликовано: 05.07.2023

Есть процесс запущенный через bat файл. При определенных обстоятельствах мне требуется его полностью закрыть, как если бы я нашел этот процесс в Диспетчере задач и нажал на нём Завершить задачу. Пробовал с помощью пакета psutil, вызывать методы kill() и terminate(), а так же пробовал через os.system(f"taskkill /Pid {proc.pid} /f /t"). Результат один и тот же во всех 3х случаях, консоль не закрывается полностью, консоль остается открытой и ждет нажатия любой клавиши. Может есть способ закрыть задачу сразу или послать доп команду на завершение?

Ответы

▲ 0

Однажды мне понадобилось похожее и я решил вот так:

# удаляет процессы архиваторов в памяти
def kill_proc_archivers():
    process_winrar = ['winrar.exe', 'winzip.exe', '7z.exe']
    for process in psutil.process_iter():
        if process.name().lower() in process_winrar:
            process.kill()