Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       exit - ein normales Prozessende veranlassen

"UBERSICHT

       #include <stdlib.h>

       void exit(int status);

BESCHREIBUNG

       Die  Funktion  exit()  veranlasst ein normales Prozessende und gibt den
       Wert von status & 0377 an den Elternprozess zuruck (siehe wait(2)).

       Die mit atexit(3) und on_exit(3) registrierten Funktionen werden in der
       umgekehrten  Reihenfolge  ihrer  Registrierung aufgerufen. (Eine solche
       Funktion kann atexit(3) oder on_exit(3) aufrufen, um  eine  zusatzliche
       Funktion  zu  registrieren,  die  wahrend des Exit-Prozesses ausgefuhrt
       wird; die neue Registrierung wird am  Anfang  der  Liste  verbleibender
       Funktionen  hinzugefugt,  die noch aufgerufen werden.) Wenn eine dieser
       Funktionen nicht zuruckkehrt (z.B. wenn sie _exit(2) aufruft oder  sich
       selbst  mit  einem  Signal  beendet), dann wird keine der verbleibenden
       Funktionen aufgerufen und  die  weitere  Exit-Ausfuhrung  (insbesondere
       Leeren von stdio(3)-Datenstromen) wird abgebrochen. Falls eine Funktion
       mehrmals mit atexit(3) oder on_exit(3) registriert wurde, dann wird sie
       so oft aufgerufen, wie sie registriert wurde.

       Alle offenen stdio(3)-Datenstrome werden geleert und geschlossen. Durch
       tmpfile(3) erzeugte Dateien werden entfernt.

       Der  C-Standard  spezifiziert   zwei   Konstanten,   EXIT_SUCCESS   und
       EXIT_FAILURE,  die  an  exit()  ubergeben  werden und ein erfolgreiches
       beziehungsweise erfolgloses Beenden anzeigen.

R"UCKGABEWERT

       Die Funktion exit() kehrt nichts zuruck.

KONFORM ZU

       SVr4, 4.3BSD, POSIX.1-2001, C89, C99.

ANMERKUNGEN

       Es ist undefiniert, was geschieht, wenn  eine  der  mit  atexit(3)  und
       on_exit(3) registrierten Funktionen exit() oder longjmp(3) aufruft.

       EXIT_SUCCESS  und  EXIT_FAILURE zu benutzen ist etwas portierbarer (auf
       Nicht-UNIX-Umgebungen), als 0 und einen Wert ungleich Null wie  1  oder
       -1 zu verwenden. Insbesondere VMS hat andere Konventionen.

       BSD  versuchte,  die  Exit-Codes  zu  standardisieren;  siehe die Datei
       <sysexits.h>.

       Nach exit()  muss  der  Exit-Status  an  den  Elternprozess  ubertragen
       werden. Dabei werden drei Falle unterschieden. Falls beim Elternprozess
       SA_NOCLDWAIT  gesetzt  ist  oder  die  SIGCHLD-Behandlungsroutine   auf
       SIG_IGN   gesetzt   wurde,   wird   der   Status  verworfen.  Wenn  der
       Elternprozess auf den Kindprozess wartete, wird er uber den Exit-Status
       benachrichtigt.  In  beiden  Fallen >>stirbt<< der Prozess, der beendet
       wird, sofort. Falls der Elternprozess  nicht  angezeigt  hat,  dass  er
       nicht  am  Exit-Status interessiert ist, aber nicht darauf wartet, dann
       wird der zu beendende Prozess  in  einen  >>Zombieprozess<<  verwandelt
       (was nichts anderes ist, als ein Behalter fur einen einzelnen Wert, den
       Exit-Status), so dass der Elternprozess den Exit-Status erfahren  kann,
       indem er spater eine der wait(2)-Funktionen aufruft.

       Wenn  die  Implementation  das  Signal SIGCHLD unterstutzt, wird dieses
       Signal  an  den  Elternprozess   gesandt.   Falls   der   Elternprozess
       SA_NOCLDWAIT  gesetzt  hat, ist nicht definiert, ob ein SIGCHLD gesandt
       wird.

       Falls der Prozess  der  fuhrende  Prozess  der  Sitzung  ist  und  sein
       steuerndes  Terminal  das steuernde Terminal der Sitzung ist, dann wird
       jedem  Prozess  in  der  Vordergrund-Prozessgruppe  dieses   steuernden
       Terminals  ein  SIGHUP-Signal  gesandt und das Terminal wird von dieser
       Sitzung gelost, was ermoglicht, dass  es  von  einem  neuen  steuernden
       Prozess ubernommen wird.

       Falls  das  Beenden  des  Prozesses  das  Verwaisen einer Prozessgruppe
       verursacht und jedes Mitglied der neu verwaisten Gruppe gestoppt  wird,
       dann  wird  ein SIGHUP-Signal gefolgt von einem SIGCONT-Signal an jeden
       Prozess in dieser Prozessgruppe gesandt. Lesen Sie setpgid(2), wenn Sie
       eine Erlauterung verwaister Prozessgruppen suchen.

SIEHE AUCH

       _exit(2), setpgid(2), wait(2), atexit(3), on_exit(3), tmpfile(3)

KOLOPHON

       Diese   Seite   ist   Teil   der  Veroffentlichung  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     konnen,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

"UBERSETZUNG

       Die deutsche Ubersetzung dieser Handbuchseite wurde  von  Stefan  Janke
       <gonzo@burg.studfb.unibw-muenchen.de>       und       Chris       Leick
       <c.leick@vollbio.de> 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     <debian-l10n-
       german@lists.debian.org>.