Share via


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

참고 항목

CreateJobObject

작업 개체

OpenJobObject

프로세스 및 스레드 함수

TerminateProcess