Provided by: manpages-fr-dev_3.65d1p1-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.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La  fonction exit() utilise une variable globale non protégée, et n’est donc pas sûre dans
       un contexte multithread.

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).   Remarquez   qu'un  appel  d'execve(2)  supprime  les
       enregistrements créés en utilisant atexit(3) et on_exit(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.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <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> ».