python 에서 tasklist 가져오는 방법
python 에서 cmd 명령어 수행하는 함수
cmd 에서 tasklist
명령어를 치면 현재 프로레스 리스트를 확인할 수 있습니다.
os.system
으로 실행하면 텍스트 형태로 가져올 수 없습니다.
subprocess.call
도 마찬가지로 특정 명령문을 실행시킬 때만 사용할 수 있습니다.
subprocess.check_output
함수를 이용해서 리턴 결과를 가져올 수 있습니다.
python 에서 프로세스 리스트 가져오기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import re
import subprocess
def get_processes_running():
# 영어일때는 `ignore` 인자 없어도 됨
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
1
2
3
4
5
6
7
8
9
10
[
{'image': 'System Idle Process',
'pid': '0',
'session_name': 'Services',
'session_num': '0',
'mem_usage': '8 K'},
.
.
.
]
참조
- https://stackoverflow.com/questions/13525882/tasklist-output
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.