NOM
_exit, _Exit - Mettre fin au processus appelant
SYNOPSIS
#include <unistd.h>
void _exit(int code);
#include <stdlib.h>
void _Exit(int code);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
_Exit() : _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ; ou cc-std=c99
DESCRIPTION
La fonction _exit() met fin « immédiatement » au processus en cours,
les descripteurs de fichier lui appartenant sont fermés, tous ses fils
éventuels sont hérités par le processus 1 (init), et son père reçoit un
signal SIGCHLD.
La valeur code est renvoyée au processus père comme valeur de sortie et
peut être récupérée en utilisant un appel système de la famille
wait(2).
La fonction _Exit() est équivalente à _exit().
VALEUR RENVOYÉE
Ces fonctions ne reviennent jamais.
CONFORMITÉ
SVr4, POSIX.1-2001, BSD 4.3. La fonction _Exit() est apparue dans C99.
NOTES
Pour une discussion sur les effets de exit, la transmission de la
valeur de retour, les processus zombie, les signaux envoyés, etc.
reportez‐vous à exit(3).
L’appel système _exit() est identique à exit(3), mais n’appelle aucune
fonction programmée par la routine atexit(3) ou on_exit(3). Le fait
qu’il vide ou non les tampons d’entrée-sortie, ou qu’il efface les
fichiers temporaires créés avec tmpfile(3) dépend de l’implémentation.
En revanche, _exit ferme les descripteurs de fichier, ce qui peut
retarder son exécution durant le temps où des écritures se terminent.
Si ce retard est gênant, on peut invoquer tcflush(3) avant d’appeler
_exit(). Savoir si certaines entrées-sorties en attente sont annulées
lors d’un _exit(), et lesquelles, dépend de l’implémentation.
Dans la glibc jusqu’à la version 2.3, la fonction enveloppe _exit()
appelait l’appel système de même nom. Depuis la glibc 2.3, la fonction
enveloppe appelle exit_group(2), afin de terminer tous les threads du
processus.
VOIR AUSSI
execve(2), exit_group(2), fork(2), kill(2), wait(2), wait4(2),
waitpid(2), atexit(3), exit(3), on_exit(3), termios(3)
COLOPHON
Cette page fait partie de la publication 3.23 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
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, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».