Provided by:
manpages-fr-dev_2.80.1-1_all 
NOM
atexit - Enregistrer une fonction à appeler à la fin d’un programme
SYNOPSIS
#include <stdlib.h>
int atexit(void (*function)(void));
DESCRIPTION
La fonction atexit() enregistre la fonction function donnée pour que
celle-ci soit automatiquement appelée lorsque le programme se termine
normalement avec exit(3) ou lors de la fin de la fonction main. Les
fonctions ainsi enregistrées sont invoquées dans l’ordre inverse de
leur enregistrement ; aucun argument n’est transmis.
POSIX.1-2001 exige que l’implémentation permette d’enregistrer au moins
ATEXIT_MAX (32) de ces fonctions. La limite actuelle de
l’implémentation peut être obtenue avec sysconf(3).
Lorsqu’un processus fils est créé avec fork(2), il hérite d’un copie
des enregistrements de son parent. À la suite d’un appel réussi à l’une
des fonctions exec(3), tous les enregistrements sont supprimés.
VALEUR RENVOYÉE
La fonction atexit() renvoie 0 en cas de succès et une valeur non nulle
en cas d’échec.
CONFORMITÉ
SVr4, BSD 4.3, C89, C99, POSIX.1-2001.
NOTES
Les fonctions enregistrées avec atexit() (et on_exit(3)) ne sont pas
appelées si le programme se termine anormalement à cause de l’envoi
d’un signal.
Notes sur Linux
Depuis la version 2.2.3 de la glibc, atexit() (et on_exit(3)) peut être
utilisée dans une bibliothèque partagée pour définir les fonctions qui
sont appelées lorsque la bibliothèque partagée est déchargée.
EXEMPLE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void
bye(void)
{
printf("That was all, folks\n");
}
int
main(void)
{
long a;
int i;
a = sysconf(_SC_ATEXIT_MAX);
printf("ATEXIT_MAX = %ld\n", a);
i = atexit(bye);
if (i != 0) {
fprintf(stderr, "cannot set exit function\n");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
VOIR AUSSI
_exit(2), exit(3), on_exit(3)
COLOPHON
Cette page fait partie de la publication 2.80 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 Florentin Duneau <fduneau@gmail.com> 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> ».