Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       exit - Terminer normalement un processus

SYNOPSIS

       #include <stdlib.h>

       void exit(int status);

DESCRIPTION

       La fonction exit() termine normalement un processus et la valeur status
       & 0377 est envoyée au processus parent (consultez wait(2)).

       Toutes les fonctions enregistrées avec  atexit(3)  et  on_exit(3)  sont
       appelées  dans  l'ordre inverse de leur enregistrement. Il est possible
       pour l'une de ces fonctions d'utiliser  atexit(3)  ou  on_exit(3)  pour
       enregistrer une fonction supplémentaire à exécuter lors de la procédure
       de terminaison ; le nouvel enregistrement est ajouté  au  début  de  la
       liste des fonctions à appeler. Si l'une de ces fonctions ne rend pas la
       main (par exemple, car elle appelle _exit(2) ou se tue avec un signal),
       alors  aucune  des fonctions suivantes de la liste n'est exécutée et le
       processus de terminaison est abandonné (en particulier, le  vidage  des
       flux  stdio(3)).  Si une fonction a été enregistrée plusieurs fois avec
       atexit(3) ou on_exit(3), alors elle sera appelée aussi souvent  qu'elle
       a été enregistrée.

       Tous  les  flux  ouverts  du  type  stdio(3)  sont vidés et fermés. Les
       fichiers créés par tmpfile(3) sont supprimés.

       Le standard C spécifie  deux  constantes  symboliques  EXIT_SUCCESS  et
       EXIT_FAILURE   qui   peuvent   être  passées  à  exit()  pour  indiquer
       respectivement une terminaison sans ou avec échec.

VALEUR RENVOYÉE

       La fonction exit() ne revient jamais.

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001, C89, C99

NOTES

       Le résultat est indéfini  si  l'une  des  fonctions  enregistrées  avec
       atexit(3) et on_exit(3) appelle exit() ou longjmp(3).

       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, le système VMS utilise
       une convention différente.

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

       Après exit(), le code de retour doit être transmis au processus parent.
       Il y a trois cas. Si le parent a défini SA_NOCLDWAIT ou s'il  a  défini
       le  comportement de SIGCHLD à SIG_IGN, le code de retour est ignoré. Si
       le père était en attente de la fin de son fils, il reçoit  le  code  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 processus « zombie » (ce n'est
       rien d'autre qu'une coquille enveloppant le code de retour d'un octet),
       que le processus père pourra consultez ultérieurement grâce à l'une des
       fonctions wait(2).

       Si l'implémentation supporte le signal SIGCHLD, celui-ci est envoyé  au
       processus  père. Si le père a défini 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  de  ce  terminal  reçoit  un  signal
       SIGHUP,  et  le  terminal est dissocié de cette session, lui permettant
       d'être acquis par un nouveau processus de contrôle.

       Si la fin du processus rend orphelin un  groupe  de  processus,  et  si
       certains membres de ce groupe nouvellement orphelin sont arrêtés, alors
       tous les processus de ce groupe vont recevoir SIGHUP suivi de  SIGCONT.
       Consultez   setpgid(2)  pour  plus  d'informations  sur  les  processus
       orphelins.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006). Florentin
       Duneau et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».