я пытаюсь сделать быстрый ярлык, чтобы завершить все активные задачи, кроме задач 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"
есть ли другой способ их получить?
Разберите список задач, например.
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",....]
, но вам нужно будет зачистить системные процессы.