保障任务终止

摘要

终止提供的作业或进程。

声明

#include <zircon/syscalls.h>

zx_status_t zx_task_kill(zx_handle_t handle);

说明

这会以递归方式异步终止给定进程或作业及其子进程, 直到位于 handle 的整个任务树终止。 不支持终止线程。

可以通过 ZX_TASK_TERMINATED 等待任务终止运行 信号。过程完成后(根据信号观察到的),任务和 其所有子项都被视为处于终止状态,且大多数操作 也将不再成功

如果 handle 一个作业且系统调用成功,则无法再对该作业 用于创建新进程

当进程或作业通过此系统调用终止时,return_code ZX_TASK_RETCODE_SYSCALL_KILL,报告者:zx_object_get_info(),通过 ZX_INFO_PROCESSZX_INFO_JOB 主题。

进程和作业也可能被其他代理终止,例如具有 ZX_POL_ACTION_KILL 或当系统内存不足时 OOM

权限

handle 必须具有 ZX_RIGHT_DESTROY

返回值

成功后,zx_task_kill() 会返回 ZX_OK。如果进程使用 系统调用来终止自身,该系统调用不会返回。

错误

ZX_ERR_BAD_HANDLE handle 不是有效的句柄。

ZX_ERR_WRONG_TYPE handle 不是任务句柄。

ZX_ERR_ACCESS_DENIED 标识名没有 ZX_RIGHT_DESTROY

ZX_ERR_NOT_SUPPORTED handle 是一个线程句柄。

另请参阅