on_exit(3) Library Functions Manual on_exit(3) BEZEICHNUNG on_exit - registriert eine Funktion fur den Aufruf bei normalem Abschluss des Prozesses BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include 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 alter: _BSD_SOURCE || _SVID_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() ubergeben. Die gleiche Funktion kann mehrfach registriert werden: sie wird einmal fur 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. RUCKGABEWERT Die Funktion on_exit() gibt im Erfolgsfall 0 zuruck, anderenfalls ist der Ruckgabewert ungleich 0. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |on_exit() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS Keine. GESCHICHTE SunOS 4, Glibc. Wurde in Solaris (SunOS 5) entfernt. Verwenden Sie stattdessen den Standard atexit(3). WARNUNGEN Zum Zeitpunkt der Ausfuhrung von funktion konnten 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) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Stefan Janke , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 on_exit(3)