Provided by: manpages-fr-dev_2.80.1-1_all bug

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