Provided by: manpages-de-dev_4.21.0-2_all bug

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.

       ┌───────────────────────────────────────────────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├───────────────────────────────────────────────────────┼───────────────────────┼─────────┤
       │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⟩.