Voltar à lista
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 2

Nota

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âmetroTipoDescrição
statusintCódigo de saída (os 8 bits menos significativos ficam disponíveis ao processo pai).

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1statusint

Valor de retorno

Não retorna.

Códigos de erro (errno)

Nenhum código de erro específico documentado para esta chamada.

Relacionadas