Provided by: manpages-fr-dev_4.18.1-1_all bug

NOM

       _exit, _Exit - Mettre fin au processus appelant

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <unistd.h>

       [[noreturn]] void _exit(int status);

       #include <stdlib.h>

       [[noreturn]] void _Exit(int status);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       _Exit() :
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       La fonction _exit() met fin « immédiatement » au processus en cours, les  descripteurs  de
       fichier  lui  appartenant  sont  fermés,  tous ses enfants éventuels sont récupérés par le
       processus init(1) (ou par le processus « subreaper » le plus proche comme défini à  l’aide
       de  l'utilisation  de l'opération PR_SET_CHILD_SUBREAPER de prctl(2)). Le processus parent
       reçoit un signal SIGCHLD.

       La valeur status & 0xFF est renvoyée au processus parent comme valeur de  sortie  et  peut
       être récupérée en utilisant un appel système de la famille wait(2).

       La fonction _Exit() est équivalente à _exit().

VALEUR RENVOYÉE

       Ces fonctions ne renvoient rien.

STANDARDS

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. La fonction _Exit() est apparue dans C99.

NOTES

       Pour  une  discussion  sur  les  effets  de  exit,  la transmission du code de retour, les
       processus zombie, les signaux envoyés, etc., reportez-vous à exit(3).

       L'appel système _exit() est identique à exit(3), mais n'appelle aucune fonction programmée
       par atexit(3) ou on_exit(3). Les flux stdio(3) ne sont pas vidés. D'un autre côté, _exit()
       ferme les descripteurs de fichier ouverts, ce qui peut retarder son  exécution  durant  le
       temps où des sorties se terminent. Si ce retard est gênant, on peut invoquer des fonctions
       telles que tcflush(3) avant d'appeler _exit(). Savoir si  toutes  les  entrées-sorties  en
       attente  sont  annulées,  et  lesquelles  sont  annulées  lors  d'un  _exit(),  dépend  de
       l'implémentation.

   différences entre bibliothèque C et noyau
       Le texte de la DESCRIPTION ci-dessus décrit l'effet traditionnel de _exit(),  qui  est  de
       terminer  un  processus  et  il  s'agit  de  la  sémantique  spécifiée  par  la POSIX.1 et
       implémentée par la fonction enveloppe de la bibliothèque C.  Sur  des  systèmes  modernes,
       cela signifie la fin de tous les processus.

       Contrairement  à  la fonction enveloppe de la bibliothèque C, l'appel système _exit() brut
       de Linux ne termine que le thread appelant et il ne réapparente  un  processus  enfant  ou
       n'envoie un signal SIGCHLD au processus parent que s'il s'agit du dernier thread du groupe
       de threads.

       Jusqu'à la glibc 2.3, la fonction enveloppe _exit() appelait l'appel système de même  nom.
       Depuis  la  glibc 2.3,  la fonction enveloppe appelle exit_group(2), afin de terminer tous
       les processus légers du processus.

VOIR AUSSI

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

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>  et  Jean-Philippe  MENGUAL
       <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.