Provided by: manpages-fr-dev_2.64.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())  ne  sont  pas
       appelées  si  le  programme  se termine anormalement à cause de l’envoi
       d’un signal.

   Note à propos de 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");
              return EXIT_FAILURE;
           }
           return EXIT_SUCCESS;
       }

VOIR AUSSI

       _exit(2), exit(3), on_exit(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, 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> ».