9. [pywin32] ExitProcess & TerminateProcee 및 관련 함수
pywin32/win32process2020. 12. 25. 00:25
1. ExitProcess(exitCode)
현재 프로세스를 종료시키는 함수입니다.
인자로는 exitCode : int가 있습니다.
exitCode: 프로세스가 종료될 때 종료 코드를 설정합니다.
2. TerminateProcess(handle, exitCode)
지정된 프로세스를 종료시키는 함수입니다.
인자로는 handle : PyHANDLE, exitCode : int 가 있습니다.
handle: 종료시킬 프로세스의 핸들값입니다.
exitCode: 프로세스가 종료될 때 종료 코드를 설정합니다.
3. int = GetExitCodeProcess(handle)
지정된 프로세스 핸들로 부터 종료 코드를 반환합니다.
인자로는 handle : PyHANDLE 가 있습니다.
handle: 종료 코드를 가져올 프로세스의 핸들값입니다.
import win32process
import win32con
import win32api
import win32event
prog = "C:/Users/admin/Documents/notepad.exe"
# 프로그램 경로
pinfo = win32process.STARTUPINFO()
pHandle = win32process.CreateProcess(prog, None, None, None, win32con.FALSE, \
win32con.CREATE_NEW_CONSOLE, None, None, pinfo)
win32event.WaitForSingleObject(pHandle[0], 3000)
win32process.TerminateProcess(pHandle[0], 3)
errCode = win32process.GetExitCodeProcess(pHandle[0])
print(f"errCode : {errCode}")
win32process.ExitProcess(5)
이번에는 메모장을 이용해봤습니다. 메모장이 열리기는 3초간 기다린 후 종료시킵니다. 종료 코드는 3으로 설정했고요. 현재 프로세스를 종료시키면서 종료 코드를 5로 설정했지만 이건 프로세스가 종료되면서 프로세스 핸들값을 가져올 수 없어 확인은 못했으나, 제대로 설정 됐을 겁니다.ㅎㅎ
반응형
'pywin32 > win32process' 카테고리의 다른 글
11. [pywin32] EnumProcess 관련 함수 (0) | 2020.12.27 |
---|---|
10. [pywin32] GetProcess... 관련 함수 - 1 (0) | 2020.12.26 |
8. [pywin32] CreateProcess 및 기타 함수 (0) | 2020.12.24 |
7. [pywin32] SetThreadAffinityMask & SetThreadIdealProcessor 함수 (0) | 2020.12.23 |
6. [pywin32] SetThreadPriority & Boost 함수 (0) | 2020.12.22 |
댓글()