Linux x86_64Processos & threads#60
exit
Encerra a thread chamadora (não necessariamente o processo inteiro).
Descrição
Em um processo multi-thread, `exit` (a syscall crua) termina apenas a thread atual; para terminar todas as threads do processo, o kernel usa `exit_group`, que é o que a função de biblioteca `exit(3)`/`_exit(2)` efetivamente invoca.
Header:
unistd.hman 2Nota
A função `_exit(2)` do glibc mapeia diretamente para esta syscall; `exit(3)` da libc padrão primeiro executa handlers `atexit`/`on_exit` e faz flush de stdio antes de chegar aqui (via exit_group).
Assinatura
void exit(int status);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| status | int | Código de saída (os 8 bits menos significativos ficam disponíveis ao processo pai). |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | statusint |
Valor de retorno
Não retorna.
Códigos de erro (errno)
Nenhum código de erro específico documentado para esta chamada.