xenial (3) exit.3.gz

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> ».