반응형
파이썬 시스템 / wmi를 이용한 윈도우 프로세스 정보 표시하기
라이브러리 설치
wmi 모듈을 사용하기 위해 아래 라이브러리를 설치합니다.
pip install WMI
pip install pywin32
프로세스 정보 가져오기
WMI() 함수를 인스턴스화하여, 프로세스 정보를 가진 리스트를 가져옵니다.
WMI_OBJ = wmi.WMI()
process_list = WMI_OBJ.Win32_process()
가져온 리스트 중 프로세스 하나의 모든 정보를 출력해 봅니다.
프로세스의 많은 정보를 가지고 있습니다.
이 중에 실행중인 모든 프로세스의 Name과 ProcessID를 출력해 보도록 하겠습니다.
아래 전체 코드를 참조해 주시면 됩니다.
instance of Win32_Process { Caption = "System Idle Process"; CreationClassName = "Win32_Process"; CreationDate = "20200814212106.670400+540"; CSCreationClassName = "Win32_ComputerSystem"; CSName = ""; Description = "System Idle Process"; Handle = "0"; HandleCount = 0; KernelModeTime = "49782727118"; Name = "System Idle Process"; OSCreationClassName = "Win32_OperatingSystem"; OSName = "Microsoft Windows 7 Ultimate K |C:\\Windows|\\Device\\Harddisk0\\Partition2"; OtherOperationCount = "0"; OtherTransferCount = "0"; PageFaults = 1; PageFileUsage = 0; ParentProcessId = 0; PeakPageFileUsage = 0; PeakVirtualSize = "0"; PeakWorkingSetSize = 24; Priority = 0; PrivatePageCount = "0"; ProcessId = 0; QuotaNonPagedPoolUsage = 0; QuotaPagedPoolUsage = 0; QuotaPeakNonPagedPoolUsage = 0; QuotaPeakPagedPoolUsage = 0; ReadOperationCount = "0"; ReadTransferCount = "0"; SessionId = 0; ThreadCount = 4; UserModeTime = "0"; VirtualSize = "0"; WindowsVersion = "6.1.7601"; WorkingSetSize = "24576"; WriteOperationCount = "0"; WriteTransferCount = "0"; }; |
전체 코드
import wmi
WMI_OBJ = wmi.WMI()
process_list = WMI_OBJ.Win32_process()
for process in process_list:
print(process.ProcessId, process.Name)
반응형