1. NOM

on_exit - Programmer une fonction à appeler à la fin normale du programme

2. SYNOPSIS

 
Sélectionnez
#include <stdlib.h>
int on_exit(void (*fonction)(int , void *), void *arg);



Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

on_exit() : _BSD_SOURCE || _SVID_SOURCE

3. DESCRIPTION

La fonction on_exit() enregistre la fonction() pour qu'elle soit appelée lors de la fin normale du programme, soit par l'appel à exit(3), soit lors du retour de la fonction main(). La fonction() reçoit le dernier paramètre de d'état transmis à exit(3) et le paramètre arg transmis à on_exit(). La même fonction peut être enregistrée plusieurs fois : elle sera appelée une fois pour chaque enregistrement. Lorsqu'un processus fils est créé avec fork(2), il hérite d'une 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.

4. VALEUR RENVOYÉE

La fonction on_exit() renvoie 0 si elle réussit ; sinon elle renvoie une valeur non nulle.

5. CONFORMITÉ

Cette fonction provient de SunOS 4, mais est également présente dans libc4, libc5 et les glibc. Elle n'apparaît plus dans Solaris (SunOS 5). Évitez d'utiliser cette fonction pour lui préférer la fonction standard atexit(3).

6. VOIR AUSSI

_exit(2), atexit(3), exit(3)

7. COLOPHON

Cette page fait partie de la publication 3.52 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/.

8. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».