Python으로 Windows OS의 프로세스를 체크하는 소스입니다.
먼저 소스를 봅시다.
import os, sys, time from win32com.client import GetObject WMI = GetObject('winmgmts:') ProcessList = [] processes = WMI.instancesOf('Win32_Process') for process in processes: ProcessList.append(process.Properties_('Name').Value) print ProcessList
소스에서 os, sys, time 이외의 win32com.client라는 패키지와 GetObject라는 모듈이 있습니다.
win32com.client는 Python 모듈을 따로 받아줘야 합니다.
win32com.client 다운로드 링크(Source Forge) : https://sourceforge.net/projects/pywin32/files/?source=navbar
각설하고, 소스를 설명하겠습니다.
WMI에는 GetObject('winmgmts:')를 선언합니다.
processes라는 변수에는 WMI.instancesOf('Win32_Process')를 통해 프로세스에 대한 데이터를 모두 긁어옵니다.
그리고 for 문에서는 processes에서 있는 정보를 하나씩 가져와서 Properties_('Name').Value를 통해 하나씩 ProcessList에 append 하도록 만들었습니다.
이후 ProcessList를 통해 확인합니다.
<<참고>>
GetObject()함수는 VB(Visual Basic)의 GetObject() 함수와 동일한 기능을 한다고 합니다.
GetObject(Class = "ProgramID") 혹은 GetObject(Class = clsid)로 쓰면, 이미 실행하고 있는 COM object에 연결합니다.
COM(Component Object Model) object란 마이크로소프트가 개발한 소프트웨어 구성요소들의 응용프로그램 이진 인터페이스를 말합니다.
'PYTHON > Python 2.x' 카테고리의 다른 글
Python3 Transposition Cipher Bruteforcing(전치 암호) (0) | 2017.04.04 |
---|---|
Python2 시스템 종료 (Python2 Shutdown) (0) | 2017.01.13 |