Provided by: manpages-pt-br-dev_4.18.1-1_all bug

NOME

       _exit, _Exit - encerra o processo chamador

BIBLIOTECA

       Biblioteca C Padrão (libc, -lc)

SINOPSE

       #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

DESCRIÇÃO

       _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().

VALOR DE RETORNO

       Estas funções não possuem retorno.

PADRÕES

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

NOTAS

       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.

   Diferenças entre kernel/biblioteca C
       The  text  above  in  DESCRIPTION describes the traditional effect of _exit(), which is to
       terminate a process, and these are the semantics specified by POSIX.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.

       Up  to glibc 2.3, the _exit()  wrapper function invoked the kernel system call of the same
       name.  Since glibc 2.3, the wrapper function invokes exit_group(2), in order to  terminate
       all of the threads in a process.

VEJA TAMBÉM

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

TRADUÇÃO

       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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 ⟨debian-l10n-portuguese@lists.debian.org⟩.