Как убить исполняемый Windows с помощью Python - PullRequest
1 голос
/ 09 мая 2019

Как завершить задачу этого исполняемого файла в фоновых процессах:

enter image description here

мой код:

import os
import subprocess
import time
import win32com.client

wmi=win32com.client.GetObject('winmgmts:')

for p in wmi.InstancesOf('win32_process'):    
    # print(p.Name)
    if p.Name == 'boltzmann.exe':
        print("Ok") 

1 Ответ

1 голос
/ 09 мая 2019

В моем коде я использовал процесс chrome.exe в качестве примера (замените его на boltzmann.exe):

import os
import subprocess
import time
import win32com.client
import signal


wmi=win32com.client.GetObject('winmgmts:')


def getpid(process_name):
    import os
    return [item.split()[1] for item in os.popen('tasklist').read().splitlines()[4:] if process_name in item.split()]


for p in wmi.InstancesOf('win32_process'):
    if p.Name == 'chrome.exe':
        process_id = getpid('chrome.exe')
        if len(process_id) > 1:
            for x in process_id:
                pid = int(x)
                os.kill(pid, signal.SIGTERM)

        else:
            pid = int("".join(getpid('chrome.exe')))
            os.kill(pid, signal.SIGTERM)

Я изо всех сил старался сделать все это с помощью встроенных библиотек, чтобы вы не сталиприходится импортировать много материала

НЕКОТОРЫЕ ЗАМЕЧАНИЯ:

  1. Имя процесса чувствительно к регистру

  2. Если процесс выполняется с более высоким приоритетом, то процесс не будет завершен, и появится ошибка отказа в доступе

...