Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
atexit - Prozessendefunktion registrieren
&pagelevel(4)&pagelevel
Definition | #include <stdlib.h> int atexit(void (*func) (void)); |
Beschreibung | Mit atexit() wird eine Funktion func() registriert, die bei normaler Prozessbeendigung ohne Argumente aufgerufen werden soll. Registrierte Funktionen werden in der umgekehrten Reihenfolge ihrer Registrierung aufgerufen. Wird eine Funktion mehrmals registriert, wird sie auch mehrmals aufgerufen. Die mit atexit() registrierten Funktionen werden nur aufgerufen, wenn der Prozess auf eine der folgenden Arten "normal" beendet wird: expliziter Aufruf von exit() Beendigung der main -Funktion ohne expliziten exit -Aufruf BS2000 Prozessbeendigung durch das C-Laufzeitsystem mit exit(-1) , das heißt bei Auftritt eines raise -Signals (nicht SIGABRT ), das entweder nicht oder durch die voreingestellte Signalbehandlung über SIG_DFL behandelt wird (siehe signal() ). (Ende)
Es können bis zu 40 Funktionen registriert werden. Nach dem erfolgreichen Aufruf einer exec -Funktion sind die vorher mit atexit() registrierten Funktionen nicht mehr registriert. |
Returnwert | 0 | bei erfolgreicher Registrierung der Funktion. |
| != 0 | bei Fehler. |
Hinweise | Damit alle registrierten Funktionen aufgerufen werden, muss der Anwender sicherstellen, dass registrierte Funktionen zurückkehren. Die Funktion sysconf() liefert den Wert von ATEXIT_MAX zurück, der angibt, wie viele Funktionen insgesamt registriert werden können. Es gibt jedoch keine Möglichkeit (außer duch Mitzählen) herauszufinden, wie viele Funktionen bereits registriert wurden. |
Siehe auch | at_quick_exit() , bs2exit() , exit() , signal() , stdlib.h .
|