Provided by: manpages-de-dev_4.21.0-2_all
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 <gonzo@burg.studfb.unibw-muenchen.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.