_EXIT(2) System Calls Manual _EXIT(2)

_exit, _Exit - encerra o processo chamador

Standard C library (libc, -lc)

#include <unistd.h>
noreturn void _exit(int status);
#include <stdlib.h>
noreturn 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.

The text above in DESCRIPTION describes the traditional effect of _exit(), which is to terminate a process, and these are the semantics specified by POSIIX.1 and implemented by the C library wrapper function. On modern systems, this means termination of all threads in the process.

By contrast with the C library wrapper function, the raw Linux _exit() system call terminates only the calling thread, and actions such as reparenting child processes or sending SIGCHLD to the parent process are performed only if this is the last thread in the thread group.

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.

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

A tradução para português brasileiro desta página man foi criada por André Luiz Fassone <lonely_wolf@ig.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 a lista de discussão de tradutores.

9 outubro 2022 Linux man-pages 6.01