Get tasklist from python and windows
파이썬에서 프로세스 리스트 가져오기
cmd 에서 tasklist
명령어를 치면 현재 프로레스 리스트를 확인할 수 있습니다.
os.system
으로 실행하면 텍스트 형태로 가져올 수 없습니다.
subprocess.call
도 마찬가지로 특정 명령문을 실행시킬 때만 사용할 수 있습니다.
subprocess.check_output
함수를 이용해서 리턴 결과를 가져올 수 있습니다.
TASKLSIT
import subprocess
import re
def get_processes_running():
tasks = subprocess.check_output(['tasklist']).decode('cp949', 'ignore').split("\r\n")
p = []
for task in tasks:
m = re.match("(.+?) +(\d+) (.+?) +(\d+) +(\d+.* K).*",task)
if m is not None:
p.append({"image":m.group(1),
"pid":m.group(2),
"session_name":m.group(3),
"session_num":m.group(4),
"mem_usage":m.group(5)
})
return p
[
{'image': 'System Idle Process',
'pid': '0',
'session_name': 'Services',
'session_num': '0',
'mem_usage': '8 K'},
.
.
.
]
Reference
- https://stackoverflow.com/questions/13525882/tasklist-output