BEZEICHNUNG

on_exit - registriert eine Funktion für den Aufruf bei normalem Abschluss des Prozesses

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#include <stdlib.h>
int on_exit(void (*funktion)(int, void *), void *arg);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
on_exit():
    Seit Glibc 2.19:
        _DEFAULT_SOURCE
    Glibc 2.19 und älter:
        _BSD_SOURCE

BESCHREIBUNG

Die Funktion on_exit() registriert die angegebene Funktion funktion, damit diese bei normaler Prozessbeendigung aufgerufen wird. Also durch exit(3) oder nach Verlassen der main-Funktion des Programms. Der Funktion funktion wird das Argument status des letzten Aufrufes von exit(3) und das Argument arg von on_exit() übergeben.
Die gleiche Funktion kann mehrfach registriert werden: sie wird einmal für jede Registrierung aufgerufen.
Wenn mittels fork(2) ein Kindprozess erstellt wird, erbt er Kopien der Registrierungen seines Elternprozesses. Nach einem erfolgreichen Aufruf einer der exec(3)-Funktionen werden alle Registrierungen entfernt.

RÜCKGABEWERT

Die Funktion on_exit() gibt im Erfolgsfall 0 zurück, anderenfalls ist der Rückgabewert ungleich 0.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle Attribut Wert
on_exit() Multithread-Fähigkeit MT-Safe
 

STANDARDS

Diese Funktion stammt aus SunOS 4, ist aber auch in der Glibc vorhanden. Sie tritt nicht mehr in Solaris (SunOS 5) auf. Portierbare Anwendungen sollten diese Funktion meiden; verwenden Sie stattdessen die Standardfunktion atexit(3).

ANMERKUNGEN

Zum Zeitpunkt der Ausführung von funktion könnten Stack-Variablen ( auto) bereits den Geltungsbereich verlassen haben. Daher sollte arg kein Zeiger auf eine Stack-Variable sein; er kann allerdings ein Zeiger auf eine Heap-Variable oder eine globale Variable sein.

SIEHE AUCH

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

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Stefan Janke <[email protected]>, Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer

Recommended readings

Pages related to on_exit you should read also: