Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
exit, _exit, _Exit - Programmbeendigung
&pagelevel(4)&pagelevel
Definition | #include <stdlib.h> void exit(int status); (nicht C11) _Noreturn void exit(int status); (C11) _Noreturn void _Exit(int status); (C11) void _exit(int status); |
| exit
| beendet das Programm. Zunächst werden die mit der Funktion atexit() registrierten Beendigungsroutinen in der umgekehrten Reihenfolge ihrer Registrierung aufgerufen. Wurde eine Routine mehrmals registriert, wird sie auch mehrmals aufgerufen. Anschließend werden alle vom Programm geöffneten Dateien geschlossen und folgende Meldungen auf stderr ausgegeben: „CCM0998 used CPU-time t seconds“, falls in der RUNTIME-Option CPU-TIME=YES gesetzt ist, „CCM0999 exit status“, falls status != EXIT_SUCCESS (Wert 0) ist, „CCM0999 exit FAILURE“, falls status = EXIT_FAILURE (Wert 9990888) ist.
|
| _exit ,
_Exit
| beenden ebenfalls das Programm.
_Exit ist das C11-konforme Synonym für _exit . Im Unterschied zu exit() werden die mit atexit() registrierten Beendigungsroutinen nicht aufgerufen und geöffnete Dateien nicht geschlossen. Es wird lediglich die Meldung „CCM0999 exit status“ ausgegeben (falls status != EXIT_SUCCESS ist). Je nach Wert des Parameters status wird die Zustandsanzeige der Monitor-Jobvariablen MONJV (1. - 3. Byte) auf den Wert "$T " oder "$A " gesetzt. |
Parameter | int status Dieser Parameter kann folgende Werte enthalten: EXIT_SUCCESS (Wert 0) verursacht eine normale Programmbeendigung. Die Zustandsanzeige der MONJV bekommt den Wert „$T „ zugewiesen. Außerdem werden SUBCODE1 =0 , MAINCODE =CCM0998 und SUBCODE2 =status modulo 256 gesetzt. EXIT_FAILURE (Wert 9990888) verursacht eine so genannte Jobstep-Beendigung: Das Programm wird anormal beendet In einer DO - oder CALL -Prozedur verzweigt das System zum nächsten Kommando ABEND , END-PROCEDURE , SET-JOB-STEP oder LOGOFF . Es erfolgt die Systemmeldung "ABNORMAL PROGRAM TERMINATION" .
Die Zustandsanzeige der MONJV bekommt den Wert "$A " zugewiesen. Außerdem werden SUBCODE1 =64 , MAINCODE =CCM0999 und SUBCODE2 =status modulo 256 gesetzt. integer -Wert
ist dieser Wert ungleich den vordefinierten Werten EXIT_SUCCESS und EXIT_FAILURE (!= 0 bzw. != 9990888), wird eine Jobstep-Beendigung durchgeführt und die Zustandsanzeige der MONJV bekommt den Wert "$T " zugewiesen. Außerdem werden SUBCODE1=64 , MAINCODE =CCM0999 und SUBCODE2 =status modulo 256 gesetzt. Entspricht dieser Wert den vordefinierten Werten EXIT_SUCCESS oder EXIT_FAILURE, werden die oben genannten Aktionen durchgeführt. |
Hinweise | Funktionen, die durch at_quick_exit() registriert wurden, werden nicht aufgerufen. Um Monitor-Jobvariablen versorgen und abfragen zu können, müssen Sie das C-Programm mit folgendem Kommando starten: /START-PROG programm,MONJV=monjvname
Der Inhalt der Jobvariablen lässt sich dann z.B. mit folgendem Kommando abfragen: /SHOW-JV JV-NAME(monjvname)
Weitere Informationen zur Ablaufüberwachung mit Monitor-Jobvariablen finden Sie im Handbuch „Jobvariablen“ [7]. |
Siehe auch | abort, atexit, at_quick_exit, bs2exit, quick_exit, signal |