Win32_Process 클래스

Win32_ProcessWMI 클래스는 운영 체제의 프로세스를 나타냅니다.

다음 구문은 MOF(Managed Object Format) 코드를 단순화한 것으로 상속된 속성이 모두 포함되어 있습니다.

참고 항목

Windows 내의 프로세스 및 스레드에 대한 일반적인 논의는 프로세스 및 스레드 항목을 참조하세요.

구문

[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
  string   CreationClassName;
  string   Caption;
  string   CommandLine;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Description;
  string   ExecutablePath;
  uint16   ExecutionState;
  string   Handle;
  uint32   HandleCount;
  datetime InstallDate;
  uint64   KernelModeTime;
  uint32   MaximumWorkingSetSize;
  uint32   MinimumWorkingSetSize;
  string   Name;
  string   OSCreationClassName;
  string   OSName;
  uint64   OtherOperationCount;
  uint64   OtherTransferCount;
  uint32   PageFaults;
  uint32   PageFileUsage;
  uint32   ParentProcessId;
  uint32   PeakPageFileUsage;
  uint64   PeakVirtualSize;
  uint32   PeakWorkingSetSize;
  uint32   Priority;
  uint64   PrivatePageCount;
  uint32   ProcessId;
  uint32   QuotaNonPagedPoolUsage;
  uint32   QuotaPagedPoolUsage;
  uint32   QuotaPeakNonPagedPoolUsage;
  uint32   QuotaPeakPagedPoolUsage;
  uint64   ReadOperationCount;
  uint64   ReadTransferCount;
  uint32   SessionId;
  string   Status;
  datetime TerminationDate;
  uint32   ThreadCount;
  uint64   UserModeTime;
  uint64   VirtualSize;
  string   WindowsVersion;
  uint64   WorkingSetSize;
  uint64   WriteOperationCount;
  uint64   WriteTransferCount;
};

멤버

Win32_Process 클래스에는 다음과 같은 형식의 멤버가 있습니다.

메서드

Win32_Process 클래스에는 이러한 메서드가 있습니다.

메서드 설명
AttachDebugger 프로세스에 대해 현재 등록된 디버거를 시작합니다.
만들기 새 프로세스를 만듭니다.
GetAvailableVirtualSize 프로세스에 사용할 수 있는 사용 가능한 가상 주소 공간의 현재 크기(바이트)를 검색합니다.
Windows Server 2012, Windows 8, Windows 7, Windows Server 2008 및 Windows Vista: 이 방법은 Windows 8.1 및 Windows Server 2012 R2 이전에 지원되지 않습니다.
GetOwner 프로세스가 실행 중인 사용자 이름과 do기본 이름을 검색합니다.
GetOwnerSid 프로세스 소유자에 대한 SID(보안 식별자)를 검색합니다.
SetPriority 프로세스의 실행 우선 순위를 변경합니다.
Terminate 프로세스 및 모든 해당 스레드를 종료합니다.

 

속성

Win32_Process 클래스에는 이러한 속성이 있습니다.

캡션

데이터 형식: string

액세스 형식: 읽기 전용

한정자: MaxLen(64), DisplayName("Caption")

한 줄 문자열인 개체에 대한 간단한 설명입니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

CommandLine

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: DisplayName ("프로세스를 시작할 명령줄")

해당하는 경우 특정 프로세스를 시작하는 데 사용되는 명령줄입니다.

CreationClassName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: CIM_Key, MaxLen(256), DisplayName("클래스 이름")

인스턴스를 만드는 데 사용되는 클래스 또는 하위 클래스의 이름입니다. 클래스의 다른 키 속성과 함께 사용할 경우 이 속성을 사용하면 클래스의 모든 인스턴스와 해당 서브클래스를 고유하게 식별할 수 있습니다.

이 속성은 CIM_Process 상속됩니다.

CreationDate

데이터 형식: datetime

액세스 형식: 읽기 전용

한정자: Fixed, DisplayName("CreationDate")

프로세스가 실행되기 시작하는 날짜입니다.

이 속성은 CIM_Process 상속됩니다.

CSCreationClassName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_OperatingSystem.CSCreationClassName"), CIM_Key, MaxLen(256), DisplayName("컴퓨터 시스템 클래스 이름")

범위 지정 컴퓨터 시스템의 생성 클래스 이름입니다.

이 속성은 CIM_Process 상속됩니다.

CSName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_OperatingSystem.CSName"), CIM_Key, MaxLen(256), DisplayName("컴퓨터 시스템 이름")

범위 지정 컴퓨터 시스템의 이름입니다.

이 속성은 CIM_Process 상속됩니다.

설명

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: DisplayName ("Description")

개체에 대한 설명입니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

ExecutablePath

데이터 형식: string

액세스 형식: 읽기 전용

한정자: 권한("SeDebugPrivilege"), MappingStrings("Win32API|도구 도움말 구조|MODULEENTRY32|szExePath"), DisplayName("실행 가능한 경로")

프로세스의 실행 파일 경로입니다.

예: "C:\Windows\System\Explorer.Exe"

ExecutionState

데이터 형식: uint16

액세스 형식: 읽기 전용

한정자: DisplayName ("실행 상태")

프로세스의 현재 작동 조건입니다.

이 속성은 CIM_Process 상속됩니다.

알 수 없음 (0)

Unknown

기타 (1)

기타

준비 완료 (2)

실행 중 (3)

차단됨 (4)

차단됨

일시 중단됨 (5)

일시 중단된 준비( 6)

종료됨 (7)

중지됨 (8)

성장 (9)

Handle

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: Key, MaxLen(256), DisplayName("Handle")

프로세스 식별자입니다.

이 속성은 CIM_Process 상속됩니다.

HandleCount

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|HandleCount"), DisplayName ("Handle Count")

프로세스에서 소유한 열려 있는 핸들의 총 수입니다. HandleCount 는 이 프로세스의 각 스레드에서 현재 열려 있는 핸들의 합계입니다. 핸들은 시스템 리소스를 검사하거나 수정하는 데 사용됩니다. 각 핸들에는 내부적으로 기본 테이블의 항목이 있습니다. 항목에는 리소스 유형을 식별하는 리소스 및 데이터의 주소가 포함됩니다.

InstallDate

데이터 형식: datetime

액세스 형식: 읽기 전용

한정자: MappingStrings ("MIF. DMTF|ComponentID|001.5"), DisplayName ("설치 날짜")

개체가 설치된 날짜입니다. 이 속성에 값을 쓰지 않고 개체를 설치할 수 있습니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

KernelModeTime

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: 재정 의("KernelModeTime"), 단위 ("100나노초")

커널 모드의 시간(밀리초)입니다. 이 정보를 사용할 수 없는 경우 0 값을 사용합니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

MaximumWorkingSetSize

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: 권한 ("SeDebugPrivilege"), MappingStrings ("Win32|Winnt. H|QUOTA_LIMITS|MaximumWorkingSetSize"), DisplayName ("최대 작업 집합 크기"), 단위 ("킬로바이트")

프로세스의 최대 작업 집합 크기입니다. 프로세스의 작업 집합은 실제 RAM에서 프로세스에 표시되는 메모리 페이지 집합입니다. 이러한 페이지는 상주하며 애플리케이션에서 페이지 오류를 트리거하지 않고 사용할 수 있습니다.

예: 1413120

MinimumWorkingSetSize

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: 권한 ("SeDebugPrivilege"), MappingStrings ("Win32|Winnt. H|QUOTA_LIMITS|MinimumWorkingSetSize"), DisplayName ("최소 작업 집합 크기"), 단위 ("킬로바이트")

프로세스의 최소 작업 집합 크기입니다. 프로세스의 작업 집합은 실제 RAM에서 프로세스에 표시되는 메모리 페이지 집합입니다. 이러한 페이지는 상주 하며 페이지 오류를 일으키지 않고 애플리케이션에 사용할 수 있습니다.

예: 20480

이름

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: DisplayName ("Name")

태스크 관리자의 이미지 이름 속성과 동일한 프로세스를 담당하는 실행 파일의 이름입니다.

하위 클래스에서 상속되는 경우 속성을 키 속성으로 재정의할 수 있습니다. 이름은 애플리케이션 자체에 하드 코딩되며 파일 이름을 변경해도 영향을 받지 않습니다. 예를 들어 Calc.exe의 이름을 바꾸더라도 Calc.exe 이름은 작업 관리자 및 프로세스 이름을 검색하는 모든 WMI 스크립트에 계속 표시됩니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

OSCreationClassName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_OperatingSystem.CreationClassName"), CIM_Key, MaxLen(256), DisplayName("운영 체제 클래스 이름")

범위 지정 운영 체제의 생성 클래스 이름입니다.

이 속성은 CIM_Process 상속됩니다.

OSName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_OperatingSystem.Name"), CIM_Key, MaxLen(256), DisplayName("운영 체제 이름")

범위 지정 운영 체제의 이름입니다.

이 속성은 CIM_Process 상속됩니다.

OtherOperationCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|OtherOperationCount"), DisplayName ("기타 작업 수")

읽기 또는 쓰기 작업이 아닌 수행된 I/O 작업 수입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

OtherTransferCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|OtherTransferCount"), DisplayName ("기타 전송 수"), 단위 ("바이트")

읽거나 쓰지 않는 작업 중에 전송되는 데이터의 양입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

PageFaults

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PageFaultCount"), DisplayName ("페이지 오류 수")

프로세스에서 생성하는 페이지 오류 수입니다.

예제 10:

PageFileUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PagefileUsage"), DisplayName ("페이지 파일 사용량"), 단위 ("킬로바이트")

프로세스가 현재 사용하고 있는 페이지 파일 공간의 양입니다. 이 값은 TaskMgr.exe의 VMSize 값과 일치합니다.

예: 102435

ParentProcessId

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|InheritedFromUniqueProcessId"), DisplayName ("부모 프로세스 ID")

프로세스를 만드는 프로세스의 고유 식별자입니다. 프로세스 식별자 번호는 다시 사용되므로 해당 프로세스의 수명 동안의 프로세스만 식별합니다. ParentProcessId식별되는 프로세스가 종료될 수 있으므로 ParentProcessId는 실행 중인 프로세스를 참조하지 않을 수 있습니다. ParentProcessId프로세스 식별자를 다시 사용하는 프로세스를 잘못 참조할 수도 있습니다. CreationDate 속성을 사용하여 Win32_Process 인스턴스가 나타내는 프로세스가 만들어진 후 지정된 부모가 만들어졌는지 여부를 확인할 수 있습니다.

PeakPageFileUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PeakPagefileUsage"), DisplayName ("피크 페이지 파일 사용량"), 단위 ("킬로바이트")

프로세스 수명 동안 사용된 페이지 파일 공간의 최대 크기입니다.

예: 102367

PeakVirtualSize

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PeakVirtualSize"), DisplayName ("피크 바이러스 주소 공간 사용량"), 단위 ("바이트")

프로세스에서 한 번에 사용하는 최대 가상 주소 공간입니다. 가상 주소 공간을 사용하는 것이 반드시 디스크 또는 기본 메모리 페이지의 해당 사용을 의미하지는 않습니다. 그러나 가상 공간은 유한하며 너무 많이 사용하면 프로세스가 라이브러리를 로드하지 못할 수 있습니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

PeakWorkingSetSize

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PeakWorkingSetSize"), DisplayName ("최고 작업 집합 크기"), 단위 ("킬로바이트")

프로세스의 최대 작업 집합 크기입니다.

예: 1413120

우선 순위

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: 재정 의("우선 순위"), MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|BasePriority"), DisplayName ("Priority")

운영 체제 내에서 프로세스의 우선 순위 예약 값이 높을수록 프로세스가 받는 우선 순위가 높습니다. 우선 순위 값은 가장 낮은 우선 순위인 0에서 가장 높은 우선 순위인 31까지 다양할 수 있습니다.

예제 7:

PrivatePageCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|PrivatePageCount"), DisplayName ("Private Page Count")

Win32_Process 인스턴스가 나타내는 프로세스에만 액세스할 수 있는 할당된 현재 페이지 수입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

ProcessId

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|프로세스 및 스레드 구조|PROCESS_INFORMATION|dwProcessId "), DisplayName("프로세스 ID")

한 프로세스를 다른 프로세스와 구분하는 데 사용되는 숫자 식별자입니다. ProcessID는 프로세스 생성 시간부터 프로세스 종료까지 유효합니다. 종료 시 동일한 숫자 식별자를 새 프로세스에 적용할 수 있습니다.

즉, ProcessID만 사용하여 특정 프로세스를 모니터링할 수 없습니다. 예를 들어 애플리케이션의 ProcessID가 7이면 실패할 수 있습니다. 새 프로세스가 시작되면 새 프로세스에 ProcessID 7이 할당될 수 있습니다. 따라서 지정된 ProcessID에 대해서만 검사 스크립트는 원래 애플리케이션이 여전히 실행 중이라고 생각하여 "속을" 수 있습니다.

QuotaNonPagedPoolUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|QuotaNonPagedPoolUsage"), DisplayName ("페이징이 아닌 풀 사용 할당량")

프로세스에 대한 비페이지 풀 사용량의 할당량입니다.

예: 15

QuotaPagedPoolUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|QuotaPagedPoolUsage"), DisplayName ("페이징 풀 사용 할당량")

프로세스에 대한 페이징 풀 사용량의 할당량입니다.

예: 22

QuotaPeakNonPagedPoolUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|QuotaPeakNonPagedPoolUsage"), DisplayName ("최대 페이징이 아닌 풀 사용 할당량")

프로세스에 대한 비페이징 풀 사용량의 최대 할당량 양입니다.

예: 31

QuotaPeakPagedPoolUsage

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|QuotaPeakPagedPoolUsage"), DisplayName ("최대 페이징 풀 사용 할당량")

프로세스에 대한 페이징 풀 사용량의 최대 할당량 양입니다.

예: 31

ReadOperationCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|ReadOperationCount"), DisplayName ("읽기 작업 수")

수행된 읽기 작업의 수입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

ReadTransferCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|ReadTransferCount"), DisplayName ("읽기 전송 수"), 단위 ("바이트")

읽은 데이터의 양입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

Sessionid

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|SessionId"), DisplayName ("세션 ID")

세션을 만들 때 운영 체제에서 생성하는 고유 식별자입니다. 세션은 로그온부터 특정 시스템의 로그오프까지의 기간에 걸쳐 있습니다.

상태

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MaxLen(10), DisplayName("Status")

이 속성은 구현되지 않으며 이 클래스의 인스턴스에 대해 채워지지 않습니다. 항상 NULL입니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

여기에는 다음 값이 포함됩니다.

확인 ("확인")

오류 ("오류")

성능이 저하됨 ("Degraded")

알 수 없음 ("알 수 없음")

사전 실패 ("사전 실패")

시작 ("시작")

중지 ("중지")

서비스 ("서비스")

스트레스("스트레스")

NonRecover ("NonRecover")

연락처 없음("연락처 없음")

로스트 커밋 ("로스트 커밋")

TerminationDate

데이터 형식: datetime

액세스 형식: 읽기 전용

한정자: DisplayName ("종료 날짜")

프로세스가 중지되었거나 종료되었습니다. 종료 시간을 가져오려면 프로세스에 대한 핸들을 열어야 합니다. 그렇지 않으면 이 속성은 NULL을 반환합니다.

이 속성은 CIM_Process 상속됩니다.

ThreadCount

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|NumberOfThreads"), DisplayName ("스레드 수")

프로세스의 활성 스레드 수입니다. 명령은 프로세서의 기본 실행 단위이며 스레드는 명령을 실행하는 개체입니다. 실행 중인 각 프로세스에는 하나 이상의 스레드가 있습니다.

UserModeTime

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: 재정 의("UserModeTime"), 단위 ("100나노초")

사용자 모드의 시간(100나노초 단위) 이 정보를 사용할 수 없는 경우 0 값을 사용합니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

VirtualSize

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 상태|SYSTEM_PROCESS_INFORMATION|VirtualSize"), DisplayName ("가상 주소 공간 사용량"), 단위 ("바이트")

프로세스에서 실제로 사용하는 실제 또는 가상 메모리가 아니라 프로세스가 사용하는 가상 주소 공간의 현재 크기입니다. 가상 주소 공간을 사용하는 것이 반드시 디스크 또는 기본 메모리 페이지의 해당 사용을 의미하지는 않습니다. 가상 공간은 유한하며 너무 많이 사용하면 프로세스가 라이브러리를 로드하지 못할 수 있습니다. 이 값은 Perfmon.exe에 표시되는 값과 일치합니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

WindowsVersion

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 함수|GetProcessVersion"), DisplayName ("Windows 버전")

프로세스가 실행 중인 Windows 버전입니다.

예: 4.0

WorkingSetSize

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: DisplayName("작업 집합 크기"), 단위("바이트")

페이지 기반 메모리 관리를 사용하는 운영 체제의 경우 프로세스가 효율적으로 실행해야 하는 메모리 양(바이트)입니다. 시스템에 충분한 메모리(작업 집합 크기보다 작음)가 없으면 스래싱이 발생합니다. 작업 집합의 크기를 알 수 없는 경우 NULL 또는 0(영)을 사용합니다. 작업 집합 데이터가 제공된 경우 정보를 모니터링하여 프로세스의 변화하는 메모리 요구 사항을 이해할 수 있습니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

이 속성은 CIM_Process 상속됩니다.

WriteOperationCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|WriteOperationCount"), DisplayName ("쓰기 작업 수")

수행된 쓰기 작업의 수입니다.

스크립트에서 uint64 값을 사용하는 방법에 관한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

WriteTransferCount

데이터 형식: uint64

액세스 형식: 읽기 전용

한정자: MappingStrings ("Win32API|프로세스 및 스레드 구조|SYSTEM_PROCESS_INFORMATION|WriteTransferCount"), DisplayName ("쓰기 전송 수"), 단위 ("바이트")

기록된 데이터의 양입니다.

스크립트에서 uint64 값을 사용하는 방법에 대한 자세한 내용은 WMI 스크립트 만들기를 참조하세요.

설명

Win32_Process 클래스는 CIM_Process 파생됩니다. 이 클래스를 사용하는 호출 프로세스에는 레지스트리가 있는 컴퓨터에 대한 SE_RESTORE_NAME 권한이 있어야 합니다. 자세한 내용은 권한 있는 작업 실행을 참조하세요.

개요

프로세스는 컴퓨터에서 발생하는 거의 모든 작업을 기반으로 합니다. 실제로 대부분의 컴퓨터 문제의 근본 원인은 프로세스로 추적할 수 있습니다. 예를 들어 너무 많은 프로세스가 컴퓨터에서 실행 중이거나(한정된 리소스 집합에 대해 경합) 단일 프로세스가 리소스의 공유보다 더 많이 사용할 수 있습니다. 이러한 요인은 컴퓨터에서 실행되는 프로세스에 대한 감시를 유지하는 것이 중요합니다. 프로세스 모니터링, 프로세스 관리의 기본 작업을 통해 컴퓨터가 실제로 수행하는 작업, 컴퓨터가 실행되는 애플리케이션 및 컴퓨팅 환경의 변경으로 인해 해당 애플리케이션의 영향을 확인할 수 있습니다.

프로세스 모니터링

정기적으로 프로세스를 모니터링하면 컴퓨터가 최고 효율성으로 실행되고 지정된 작업을 예상대로 수행하는 데 도움이 됩니다. 예를 들어 프로세스를 모니터링하여 응답을 중지한 애플리케이션에 대해 즉시 알림을 받은 다음 해당 프로세스를 종료하는 단계를 수행할 수 있습니다. 또한 프로세스 모니터링을 사용하면 문제가 발생하기 전에 식별할 수 있습니다. 예를 들어 프로세스에서 사용하는 메모리 양을 반복적으로 검사 메모리 누수는 식별할 수 있습니다. 그런 다음 잘못된 애플리케이션에서 사용 가능한 모든 메모리를 사용하고 컴퓨터를 중지하기 전에 프로세스를 중지할 수 있습니다.

또한 프로세스 모니터링을 사용하면 업그레이드 및 기본 중단에 대한 계획된 중단으로 인한 중단을 최소화할 수 있습니다. 예를 들어 클라이언트 컴퓨터에서 실행되는 데이터베이스 애플리케이션의 상태 검사 소프트웨어를 업그레이드하기 위해 데이터베이스를 오프라인으로 전환할 때의 영향을 확인할 수 있습니다.

프로세스 가용성 모니터링 프로세스를 사용할 수 있는 시간의 백분율을 측정합니다. 가용성은 일반적으로 프로세스가 여전히 실행 중인지 여부를 보고하는 간단한 프로브를 사용하여 모니터링됩니다. 각 프로브의 결과를 추적하여 프로세스의 가용성을 계산할 수 있습니다. 예를 들어 100번 검색되고 95번 응답하는 프로세스의 가용성은 95%입니다. 이 유형의 모니터링은 일반적으로 항상 실행되어야 하는 데이터베이스, 메일 프로그램 및 기타 애플리케이션에 대해 예약됩니다. 하루에 여러 번 시작 및 중지되는 워드 프로세싱 프로그램, 스프레드시트 또는 기타 응용 프로그램에는 적합하지 않습니다.

Win32_ProcessStartup 클래스의 인스턴스를 만들어 프로세스를 구성할 수 있습니다.

Win32_PerfFormattedData_PerfProc_Process 클래스 및 WMI 새로 고침 개체(예: SWbemRefresher)를 사용하여 프로세스 성능을 모니터링할 수 있습니다. 자세한 내용은 성능 데이터 모니터링을 참조하세요.

예제

예제: 공급자 메서드 호출 항목에서 코드는 C++를 사용하여 Win32_Process 호출하여 프로세스를 만듭니다.

가용성은 가장 간단한 형태의 프로세스 모니터링입니다. 이 방법을 사용하면 프로세스가 실행 중인지 확인할 수 있습니다. 프로세스 가용성을 모니터링할 때 일반적으로 컴퓨터에서 실행 중인 프로세스 목록을 검색한 다음 특정 프로세스가 여전히 활성 상태인지 확인합니다. 프로세스가 활성 상태이면 사용 가능한 것으로 간주됩니다. 프로세스가 활성화되지 않은 경우 사용할 수 없습니다. 다음 VBScript 샘플은 컴퓨터에서 실행되는 프로세스 목록을 검사 Database.exe 프로세스를 찾을 수 없는 경우 알림을 실행하여 프로세스 가용성을 모니터링합니다.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
 Wscript.Echo "Database.exe is not running."
Else
 Wscript.Echo "Database.exe is running."
End If

다음 VBScript 샘플은 임시 이벤트 소비자를 사용하여 프로세스 생성을 모니터링합니다.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
                                                     & "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
 Set objLatestProcess = colMonitoredProcesses.NextEvent
 Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop

다음 VBScript는 프로세스 성능 정보를 모니터링합니다.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
 Wscript.Echo "Process: " & objProcess.Name
 Wscript.Echo "Process ID: " & objProcess.ProcessID
 Wscript.Echo "Thread Count: " & objProcess.ThreadCount
 Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
 Wscript.Echo "Page Faults: " & objProcess.PageFaults
 Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next

다음 VBScript 코드 예제에서는 로컬 컴퓨터에서 각 프로세스의 소유자를 가져오는 방법을 보여줍니다. 이 스크립트를 사용하여 원격 컴퓨터에서 데이터를 가져올 수 있습니다. 예를 들어 터미널 서버를 실행하는 프로세스가 있는 사용자를 확인하려면 첫 줄에서 원격 컴퓨터의 이름을 "."로 대체합니다. 또한 원격 컴퓨터의 관리자여야 합니다.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses

  If objProcess.GetOwner ( User, Domain ) = 0 Then
    Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
  Else
    Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
  End If
Next

다음 VBScript 코드 예제에서는 실행 중인 프로세스와 연결된 로그온 세션을 가져오는 방법을 보여줍니다. 스크립트가 시작되기 전에 프로세스가 메모장.exe를 실행해야 합니다. 이 예제에서는 메모장.exe를 나타내는 Win32_Process 연결된 Win32_LogonSession 인스턴스를 찾습니다. Win32_SessionProcess 연결 클래스로 지정됩니다. 자세한 내용은 ASSOCIATORS OF 문을 참조 하세요.

On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
  ProcessId = objProcess.ProcessId
  Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
                                               & "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
  If Err <> 0 Then
    WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
    WScript.Quit
  End If
  For Each LogonSession in colLogonSessions
    Wscript.Echo " Logon id is " & LogonSession.LogonId
  Next
Next

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

참고 항목

CIM_Process

운영 체제 클래스

WMI 작업: 프로세스