zx_task_kill

摘要

終止提供的工作或程序。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_task_kill(zx_handle_t handle);

說明

這會以非同步方式終止指定程序或工作及其子項 (以遞迴方式),直到以 handle 為根目錄的整個工作樹狀結構都終止為止。不支援終止執行緒。

您可以透過 ZX_TASK_TERMINATED 信號等待工作終止。程序完成時 (由信號觀察),工作及其所有子項都會視為處於終止狀態,且大多數作業將無法再成功。

如果 handle 是工作,且系統呼叫成功,該工作就無法再用於建立新程序。

透過這個系統呼叫終止程序或工作時,return_codeZX_TASK_RETCODE_SYSCALL_KILL,如 zx_object_get_info() 透過 ZX_INFO_PROCESSZX_INFO_JOB 主題回報。

其他代理程式 (例如具有 ZX_POL_ACTION_KILL 的工作政策) 也會終止程序和工作,或在系統記憶體不足時 (OOM) 終止程序和工作。

權限

帳號代碼必須包含 ZX_RIGHT_DESTROY

傳回值

成功時,zx_task_kill() 會傳回 ZX_OK。如果程序使用這個系統呼叫來終止自身,這個系統呼叫不會傳回。

錯誤

ZX_ERR_BAD_HANDLE handle 不是有效的控制代碼。

ZX_ERR_WRONG_TYPE handle 不是工作控制代碼。

ZX_ERR_ACCESS_DENIED handle 沒有 ZX_RIGHT_DESTROY 權限。

ZX_ERR_NOT_SUPPORTED handle 是執行緒控制代碼。

另請參閱