TerminateJobObject 函数 (jobapi2.h)

终止当前与作业关联的所有进程。 如果作业是嵌套的,则此函数将终止当前与作业关联的所有进程及其层次结构中的所有子作业。

语法

BOOL TerminateJobObject(
  [in] HANDLE hJob,
  [in] UINT   uExitCode
);

参数

[in] hJob

其进程将终止的作业的句柄。 CreateJobObjectOpenJobObject 函数返回此句柄。 此句柄必须具有JOB_OBJECT_TERMINATE访问权限。 有关详细信息,请参阅 作业对象安全性和访问权限

作业对象中每个进程的句柄必须具有PROCESS_TERMINATE访问权限。 有关详细信息,请参阅 进程安全性和访问权限

[in] uExitCode

作业对象中所有进程和线程要使用的退出代码。 使用 GetExitCodeProcess 函数检索每个进程的退出值。 使用 GetExitCodeThread 函数检索每个线程的退出值。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

与作业关联的任何进程都无法推迟或处理终止。 就好像为与作业关联的每个进程调用 了 TerminateProcess

终止嵌套作业会终止所有子作业对象。 终止作业使用的资源按层次结构中的父作业链收费。

若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为 0x0500 或更高版本。 有关详细信息,请参阅 使用 Windows 标头

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 jobapi2.h (包括 Windows.h、Jobapi2.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CreateJobObject

作业对象

OpenJobObject

进程和线程函数

TerminateProcess