_EXIT(2) Manual do Programador do Linux _EXIT(2)

_exit, _Exit - encerra o processo chamador

#include <unistd.h>

void _exit(int status);

#include <stdlib.h>

void _Exit(int status);

Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):

_Exit():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

_exit() encerra o processo solicitante "imediatamente". Qualquer descritor de arquivo aberto pelo processo será fechado. Qualquer processo filho será herdado pelo init(1) (ou pelo processo subceifador mais próximo como definido pelo uso da opção PR_SET_CHILD_SUBREAPER de prctl(2)). Ao processo pai é enviado um sinal SIGCHLD.

O valor status & 0xFF é retornado para o processo pai como o status de saída do processo e pode ser coletado pelo pai usando uma das chamadas da família wait(2).

A função _Exit() é equivalente a _exit().

Estas funções não possuem retorno.

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. A função _Exit() foi introduzido por C99.

Para uma discussão sobre os efeitos de uma saída, a transmissão do status de saída, processos zumbis, sinais enviados e assim por diante, consulte exit(3).

A função _exit() é como exit(3), mas não chama nenhuma função registrada com atexit(3) ou on_exit(3). Os fluxos abertos stdio(3) não são liberados. Por outro lado, _exit() fecha os descritores de arquivos abertos e isso pode causar um atraso desconhecido, aguardando a conclusão da saída pendente. Se o atraso não for desejado, pode ser útil chamar funções como tcflush(3) antes de chamar _exit(). Se qualquer E/S pendente é cancelada e qual E/S pendente pode ser cancelada em _exit(), depende da implementação.

No glibc até a versão 2.3, a função do wrapper _exit() invocava a chamada de sistema do kernel com o mesmo nome. Desde o glibc 2.3, a função wrapper chama exit_group(2), para finalizar todos os threads em um processo. (A chamada do sistema não tratada de _exit() encerra apenas a thread de chamada.)

execve(2), exit_group(2), fork(2), kill(2), wait(2), wait4(2), waitpid(2), atexit(3), exit(3), on_exit(3), termios(3)

Esta página faz parte da versão 5.10 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

A tradução para português brasileiro desta página man foi criada por André L. Fassone Canova <lonelywolf@blv.com.br>, Fábio Henrique F. Silva <fabiohfs@mail.com> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para <debian-l10n-portuguese@lists.debian.org>.

9 fevereiro 2020 Linux