zx_task_kill

摘要

終止提供的工作 (工作、程序或執行緒)。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_task_kill(zx_handle_t handle);

說明

這會以遞迴方式終止指定的程序或工作及其子項,直到在「處理常式」所引發的整個工作樹狀結構終止為止。無法終止執行緒。

您可以透過 ZX_TASK_TERMINATED 信號等待工作終止。如信號觀測到程序完成,工作及其所有子項會視為無效狀態,且大多數的作業將不再成功。

如果「處理程式」是工作且系統呼叫成功,就無法再使用此工作建立新的程序,

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

程序和工作也可能由其他代理程式終止,例如具有 ZX_POL_ACTION_KILL 的 Job 政策,或是系統記憶體 OOM 偏低時。

權限

handle 必須具有 ZX_RIGHT_DESTROY

傳回值

成功時,zx_task_kill() 會傳回 ZX_OK。如果程序利用這個系統呼叫自行終止,則該系統呼叫不會傳回。

錯誤

ZX_ERR_BAD_HANDLE 帳號代碼不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 處理常式不是工作控制代碼。

ZX_ERR_ACCESS_DENIED 處理常式沒有 ZX_RIGHT_DESTROY 正確。

另請參閱