Provided by: manpages-fr-dev_3.27fr1.4-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 envoyee au processus parent (consultez wait(2)).

       Toutes les fonctions enregistrees avec  atexit(3)  et  on_exit(3)  sont
       appelees  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 supplementaire a executer lors de la procedure
       de terminaison ; le nouvel enregistrement est ajoute  au  debut  de  la
       liste des fonctions a 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 executee et le
       processus de terminaison est abandonne (en particulier, le  vidage  des
       flux  stdio(3)).  Si une fonction a ete enregistree plusieurs fois avec
       atexit(3) ou on_exit(3), alors elle sera appelee aussi souvent  qu'elle
       a ete enregistree.

       Tous  les  flux  ouverts  du  type  stdio(3)  sont vides et fermes. Les
       fichiers crees par tmpfile(3) sont supprimes.

       Le standard C specifie  deux  constantes  symboliques  EXIT_SUCCESS  et
       EXIT_FAILURE   qui   peuvent   etre  passees  a  exit()  pour  indiquer
       respectivement une terminaison sans ou avec echec.

VALEUR RENVOY'EE

       La fonction exit() ne revient jamais.

CONFORMIT'E

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

NOTES

       Le resultat est indefini  si  l'une  des  fonctions  enregistrees  avec
       atexit(3) et on_exit(3) appelle exit() ou longjmp(3).

       L'utilisation   d'EXIT_SUCCESS  et  EXIT_FAILURE  est  legerement  plus
       portable (vers des environnements non Unix) que celle de zero et  d'une
       valeur  non nulle comme 1 ou -1. En particulier, le systeme VMS utilise
       une convention differente.

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

       Apres exit(), le code de retour doit etre transmis au processus parent.
       Il y a trois cas. Si le parent a defini SA_NOCLDWAIT ou s'il  a  defini
       le  comportement de SIGCHLD a SIG_IGN, le code de retour est ignore. Si
       le pere etait en attente de la fin de son fils, il recoit  le  code  de
       retour.  Dans  ces  deux cas, le fils meurt immediatement. Si le parent
       n'est pas en attente, mais n'a pas indique qu'il desire 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 pere pourra consultez ulterieurement grace a
       l'une des fonctions wait(2).

       Si l'implementation supporte le signal SIGCHLD, celui-ci est envoye  au
       processus  pere. Si le pere a defini SA_NOCLDWAIT, il n'est pas precise
       si SIGCHLD est envoye ou non.

       Si le processus est un  leader  de  session,  et  si  son  terminal  de
       controle  est  le  terminal  de  la  session, alors chaque processus du
       groupe de processus en avant plan  de  ce  terminal  recoit  un  signal
       SIGHUP,  et  le  terminal est dissocie de cette session, lui permettant
       d'etre acquis par un nouveau processus de controle.

       Si la fin du processus rend orphelin un  groupe  de  processus,  et  si
       certains membres de ce groupe nouvellement orphelin sont arretes, 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.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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'equipe francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.