TerminateJobObject 함수(jobapi2.h)
현재 작업과 연결된 모든 프로세스를 종료합니다. 작업이 중첩된 경우 이 함수는 현재 작업과 연결된 모든 프로세스와 계층 구조의 모든 자식 작업을 종료합니다.
구문
BOOL TerminateJobObject(
[in] HANDLE hJob,
[in] UINT uExitCode
);
매개 변수
[in] hJob
프로세스가 종료될 작업에 대한 핸들입니다. CreateJobObject 또는 OpenJobObject 함수는 이 핸들을 반환합니다. 이 핸들에는 JOB_OBJECT_TERMINATE 액세스 권한이 있어야 합니다. 자세한 내용은 작업 개체 보안 및 액세스 권한을 참조하세요.
작업 개체의 각 프로세스에 대한 핸들에는 PROCESS_TERMINATE 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.
[in] uExitCode
작업 개체의 모든 프로세스 및 스레드에서 사용할 종료 코드입니다. GetExitCodeProcess 함수를 사용하여 각 프로세스의 종료 값을 검색합니다. GetExitCodeThread 함수를 사용하여 각 스레드의 종료 값을 검색합니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
작업과 연결된 프로세스 중 어떤 프로세스도 종료를 연기하거나 처리할 수 없습니다. 작업과 연결된 각 프로세스에 대해 TerminateProcess 가 호출된 것처럼 표시됩니다.
중첩된 작업을 종료하면 모든 자식 작업 개체가 추가로 종료됩니다. 종료된 작업에서 사용하는 리소스는 계층의 부모 작업 체인에 요금이 청구됩니다.
이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0500 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | jobapi2.h(Windows.h, Jobapi2.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |