Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
EXIT
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- CONFORMITÉ À
- NOTES
- VOIR AUSSI
- TRADUCTION
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 (voyez wait(2)).
Toutes les fonctions enregistrées avec atexit() et on_exit() sont
appelées dans l'ordre inverse de leur enregistrement. Il est possible pour
l'une de ces fonctions d'utiliser atexit() ou on_exit() 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.
Tous les flux ouverts sont vidés et fermés. Les fichiers créés par
tmpfile() 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.
NOTES
Le résultat est indéfini si l'une des fonctions enregistrées avec
atexit() et on_exit() appelle 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, le système VMS utilise une convention
différente.
BSD a tenté de standardiser les codes de sortie, voyez 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 consulter ultérieurement grâce à l'une des fonctions
wait().
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 sont arrêtés, alors tous les processus de ce groupe
vont recevoir SIGHUP suivi de SIGCONT.
VOIR AUSSI
_exit(2), wait(2), atexit(3), on_exit(3), tmpfile(3)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|