oracular (2) exit.2.gz

Provided by: manpages-de-dev_4.23.1-1_all bug

BEZEICHNUNG

       _exit, _Exit - beendet den aufrufenden Prozess

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <unistd.h>

       [[noreturn]] void _exit(int status);

       #include <stdlib.h>

       [[noreturn]] void _Exit(int status);

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       _Exit():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

BESCHREIBUNG

       _exit  beendet  den  aufrufenden Prozess »sofort«. Alle zum Prozess gehörenden offenen Datei-Deskriptoren
       werden geschlossen. Alle Kindprozesse dieses Prozesses werden  von  init(1)  geerbt  (oder  vom  nächsten
       »subreaper«-Prozess,   der  durch  die  Verwendung  der  PR_SET_CHILD_SUBREAPER-Aktion  mittels  prctl(2)
       festgelegt wird). Dem Elternprozess wird ein SIGCHLD-Signal gesandt.

       Der Wert status & 0xFF wird als Exit-Status des Prozesses an den  Elternprozess  zurückgegeben  und  kann
       durch den Elternprozess mit einem Aufruf der wait(2)-Familie ermittelt werden.

       Die Funktion _Exit() entspricht _exit().

RÜCKGABEWERT

       Diese Funktionen kehren nicht zurück.

STANDARDS

       _exit()
              POSIX.1-2008.

       _Exit()
              C11, POSIX.1-2008.

GESCHICHTE

       POSIX.1-2001, SVr4, 4.3BSD.

       _Exit() wurde in C99 eingeführt.

ANMERKUNGEN

       Für  eine  Diskussion  über die Auswirkungen eines Exit, die Übertragung des Exit-Status, Zombieprozesse,
       gesendete Signale, usw. lesen Sie exit(3).

       Die Funktion _exit() ist exit(3) ähnlich, ruft aber keine mit  atexit(3)  oder  on_exit(3)  registrierten
       Funktionen  auf.  Geöffnete  stdio(3)-Ströme  werden  nicht geleert. Andererseits schließt _exit() offene
       Datei-Deskriptoren und dies  könnte  beim  Warten  auf  das  Beenden  ausstehender  Ausgaben  eine  nicht
       vorhersehbare  Verzögerung verursachen. Falls die Verzögerung nicht erwünscht ist, kann es nützlich sein,
       vor dem Aufruf von _exit(),  Funktionen  wie  tcflush(3)  aufzurufen.  Ob  irgend  eine  ausstehende  E/A
       abgebrochen wird und welche ausstehende E/A per _exit abgebrochen wird, hängt von der Implementierung ab.

   Unterschiede C-Bibliothek/Kernel
       Der oben in BESCHREIBUNG dargestellte Text beschreibt die traditionelle Auswirkung von _exit(), die darin
       besteht, einen Prozess  zu  beenden,  und  die  in  POSIX.1  spezifizierten  Semantiken,  die  durch  die
       Wrapper-Funktion  implementiert sind. Auf modernen Systemen bedeutet dies die Beendigung aller Threads in
       dem Prozess.

       Im Kontrast zur C-Bibliotheks-Wrapperfunktion beendet der rohe Systemaufruf _exit() nur  den  aufrufenden
       Thread  und  Aktionen,  wie  Kindprozesse,  die einen anderen Elternprozess auswählen oder das Senden von
       SIGCHLD an den Elternprozess werden nur durchgeführt, falls dies der letzte Thread in  der  Thread-Gruppe
       ist.

       Bis Glibc 2.3 rief die Wrapper-Funktion _exit() den gleichnamigen Kernel-Systemaufruf auf. Seit Glibc 2.3
       ruft die Wrapper-Funktion exit_group(2) auf, um alle Ausführungsstränge in einem Prozess zu beenden.

SIEHE AUCH

       execve(2),  exit_group(2),  fork(2),  kill(2),  wait(2),  wait4(2),   waitpid(2),   atexit(3),   exit(3),
       on_exit(3), termios(3)

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Chris Leick
       <c.leick@vollbio.de>, Dr. Tobias Quathamer <toddy@debian.org> und Helge Kreutzmann <debian@helgefjell.de>
       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⟩.