ON_EXIT(3)

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

SYNOPSIS
#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

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.

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

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

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

COLOPHON
Cette page fait partie de la publication 3.70 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
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 à <perkamon-fr@traduc.org>.

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