Как получить задачи Windows и фоновые задачи отдельно в списке? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь сделать быстрый ярлык, чтобы завершить все активные задачи, кроме задач Windows, и мне нужно получить список активных задач, я немного искал и нашел ответ, но у меня проблемы с чтением и использованием вывода и я должен отделить задачи Windows.

это ответ, который я нашел.

import subprocess
t=subprocess.check_output(['tasklist'])

Я хотел бы получить такой список:

["chrome.exe","sedsvc.exe",....]

но эта команда дает мне байтовый объект, подобный этому:

b"Image Name                     PID Session Name        Session#    Mem Usage

========================= ======== ================ =========== ============

System Idle Process              0 Services                   0          8 K

System                           4 Services                   0    122,932 K

smss.exe                       292 Services                   0        740 K"           

Есть ли другой способ получить их?

1 Ответ

0 голосов
/ 21 мая 2019

Разбор списка задач, например,

import re
import subprocess

tasks = subprocess.check_output(['tasklist']).decode('cp866', 'ignore').split("\r\n")
p = []
for task in tasks:
    m = re.match(b'(.*?)\\s+(\\d+)\\s+(\\w+)\\s+(\\w+)\\s+(.*?)\\s.*', task.encode())
    if m is not None:
        p.append(m.group(1).decode())
print(p)

p будет содержать список, как вы хотели, например, ["chrome.exe","sedsvc.exe",....], но вам нужно будет удалить системные процессы.

...