摘要
終止提供的工作或程序。
宣告
#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_PROCESS 或 ZX_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 是執行緒控制代碼。