13. [pywin32] GetProcess... 관련 함수 - 3
1. int = GetPriorityClass(handle)
프로세스의 우선순위를 클래스를 반환하는 함수입니다.
인자로는 handle : PyHANDLE 가 있습니다.
handle: 프로세스의 핸들값입니다.
리턴값은 다음과 같습니다.
| 값 | 이름 | 의미 |
| 0x8000 | win32process.ABOVE_NORMAL_PRIORITY_CLASS | NORMAL 이상, HIGH 이하의 우선순위 클래스 |
| 0x4000 | win32process.BELOW_NORMAL_PRIORITY_CLASS | IDLE 이상, NORMAL 이하의 우선순위 클래스 |
| 0x0080 | win32process.HIGH_PRIORITY_CLASS | NORMAL, IDLE 보다 높은 우선순위 클래스 |
| 0x0040 | win32process.IDLE_PRIORITY_CLASS | 화면 보호기 처럼 유휴 상태에서 동작하는 우선순위 |
| 0x0020 | win32process.NORMAL_PRIORITY_CLASS | 기본 보통 우선순위 클래스 |
| 0x0100 | win32process.REALTIME_PRIORITY_CLASS | 실시간 우선순위 클래스, 남용하면 마우스 입력 같은 기본적인 입출력 프로세스가 우선순위를 빼앗길 수 있음 |
2. int, int = GetProcessAffinityMask(hProcess)
CPU 선호도(Affinity)를 반환하는 함수입니다.
인자로는 hProcess : PyHANDLE 가 있습니다.
hProcess: 프로세스의 핸들값입니다.
리턴값은 int,int 로 비트마스크 값이며 앞에는 프로세스 선호도 값이고, 뒤에는 시스템의 선호도 값을 나타냅니다.
3. bool = GetProcessPriorityBoost(Process)
프로세스의 동적인 우선순위 레벨 상승이 가능한지 여부를 반환하는 함수입니다.
인자로는 Process : PyHANDLE가 있습니다.
Process: 프로세스의 핸들값입니다.
리턴값이 True 일 경우, 동적 상승이 불가능하며, False일 경우, 동적 상승이 가능하다는 뜻으로 True와 False가 반대인 것에 주의해야 합니다.
4. int,int = GetProcessShutdownParameters()
현재 프로세스의 셧다운 우선순위와 플래그를 반환합니다.
리턴값은 int, int로 앞에는 셧다운 우선순위, 뒤에는 셧다운 플래그를 나타냅니다.
- 셧다운 우선순위
| 값 | 의미 |
| 0x000 - 0x0FF | 시스템 프로세스가 셧다운 마지막에 종료됨 |
| 0x100 - 0x1FF | 응용프로그램 프로세스가 셧다운 마지막에 종료됨 |
| 0x200 - 0x2FF | 응용프로그램 프로세스가 셧다운 중간에 종료됨 |
| 0x300 - 0x3FF | 응용프로그램 프로세스가 셧다운 처음에 종료됨 |
| 0x400 - 0x4FF | 시스템 프로세스가 셧다운 처음에 종료됨 |
모든 프로세스는 0x280 우선순위를 기본으로 갖습니다.
- 셧다운 플래그
| 값 | 이름 | 의미 |
| 0 | - | 기본값 |
| 1 | win32con.SHUTDOWN_NORETRY | 프로세스를 종료하는데 지정된 시간보다 오래 걸릴 시 재시도 대화상자를 띄위지 않고 프로세스를 종료함 |
5. int,int = GetProcessWorkingSetSize(hProcess)
워킹 셋 사이즈를 반환하는 함수입니다.
인자로는 hProcess : PyHANDLE 가 있습니다.
hProcess: 프로세스의 핸들값입니다.
리턴값은 int, int로 최소 워킹 셋 사이즈(바이트) 와 최대 워킹 셋 사이즈(바이트)를 나타냅니다.
이 함수가 앞에서 다뤘던 GetProcessMemoryInfo 함수의 리턴값과 관련이 있을 것 같은데 이건 아직 잘 모르겠군요...
import win32process
curPs = win32process.GetCurrentProcess()
priorityClass = win32process.GetPriorityClass(curPs)
affinityMask = win32process.GetProcessAffinityMask(curPs)
priorityBoost = win32process.GetProcessPriorityBoost(curPs)
shutdownParam = win32process.GetProcessShutdownParameters()
workingSize = win32process.GetProcessWorkingSetSize(curPs)
print(f"priorityClass : {priorityClass}")
print(f"affinityMask : {affinityMask}")
print(f"priorityBoost : {priorityBoost}")
print(f"shutdownParam : {shutdownParam}")
print(f"workingSize : {workingSize}")
현재 프로세스의 핸들값을 이용했습니다.
실행결과입니다

'pywin32 > win32process' 카테고리의 다른 글
| 14. [pywin32] SetProcess... 관련 함수 (0) | 2020.12.30 |
|---|---|
| 12. [pywin32] GetProcess... 관련 함수 - 2 (0) | 2020.12.28 |
| 11. [pywin32] EnumProcess 관련 함수 (0) | 2020.12.27 |
| 10. [pywin32] GetProcess... 관련 함수 - 1 (0) | 2020.12.26 |
| 9. [pywin32] ExitProcess & TerminateProcee 및 관련 함수 (0) | 2020.12.25 |








