Provided by: manpages-fr_1.67.0-1_all bug

NOM

       exit - Fin normale d’un programme.

SYNOPSIS

       #include <stdlib.h>

       void exit (int status);

DESCRIPTION

       La  fonction  exit()  termine  normalement  le  programme en cours.  La
       valeur status & 0377 est renvoyée au processus parent.  (voir wait(2)).
       Toutes  les  fonctions  enregistrées  avec  atexit(3) et on_exit() sont
       invoquées dans l’ordre inverse de l’enregistrement,  les  flux  ouverts
       sont   vidés  et  fermés.   Les  fichiers  créés  par  tmpfile(2)  sont
       supprimés.

       Le standard C mentionne deux  constantes  symboliques  EXIT_SUCCESS  et
       EXIT_FAILURE   qui   peuvent   être   passée  à  exit()  pour  indiquer
       respectivement une terminaison en succès ou en échec.

VALEUR RENVOYÉE

       La fonction exit() ne revient jamais.

CONFORMITÉ

       SVID 3, POSIX, BSD 4.3, ISO 9899 ("ANSI C")

NOTES

       Durant le  traitement  de  exit,  il  est  possible  d’enregistrer  des
       fonctions  supplémentaires  avec atexit() et on_exit().  C’est toujours
       la dernière fonction enregistrée qui est  extraite  de  leur  liste  et
       invoquée.   Le  comportement  est  indéfini si durant ce traitement, on
       invoque exit() ou longjmp().

       L’utilisation  d’EXIT_SUCCESS  et  EXIT_FAILURE  est  légèrement   plus
       portable  (vers des environnements non-Unix) que celle de zéro et d’une
       valeur non-nulle comme  1  ou  -1.  En  particulier,  VMS  utilise  une
       convention différente.

       BSD  a  tenté  de  standardiser  les  codes  de sortie, voir le fichier
       <sysexits.h>.

       Après un exit(), le code de retour  doit  être  transmis  au  processus
       parent. Il y a trois cas. Si le parent a mentionné SA_NOCLDWAIT ou s’il
       a positionné le comportement  de  SIGCHLD  à  SIG_IGN,  le  status  est
       ignoré.   Si  le père était en attente de la fin de son fils, il reçoit
       le status de retour. Dans ces deux cas, le  fils  meurt  immédiatement.
       Si  le  parent  n’est pas en attente, mais n’a pas indiqué qu’il désire
       ignorer le code de retour, le processus fils devient un  "zombie".   Ce
       n’est  rien  d’autre qu’une coquille enveloppant le code de retour, que
       le processus père pourra consulter ultérieurement  grâce  à  l’une  des
       fonctions de la famille wait().

       Si  l’implémentation supporte le signal SIGCHLD, celui-ci est envoyé au
       processus père. Si le père  a  mentionné  SA_NOCLDWAIT,  il  n’est  pas
       précisé si SIGCHLD est envoyé ou non.

       Si  le  processus  est  un  leader  de  session,  et si son terminal de
       contrôle est le terminal de  la  session,  alors  chaque  processus  du
       groupe  de  processus  en  avant-plan  su  ce terminal reçoit un signal
       SIGHUP, et le terminal est  dissocié  de  la  session,  lui  permettant
       d’être réacquis par un nouveau processus de contrôle.

       Si  la  fin  du  processus  rend orphelin un groupe de processus, et si
       certain membres de ce groupe sont arrêtés, alors tous les processus  du
       groupe vont recevoir SIGHUP suivi de SIGCONT.

VOIR AUSSI

       _exit(2), wait(2), atexit(3), on_exit(3) tmpfile(3)

TRADUCTION

       Christophe Blaess, 1996-2003.