_exit(2)                      System Calls Manual                     _exit(2)

BEZEICHNUNG
       _exit, _Exit - beendet den aufrufenden Prozess

BIBLIOTHEK
       Standard-C-Bibliothek (libc, -lc)

UBERSICHT
       #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
       gehorenden offenen Datei-Deskriptoren werden geschlossen. Alle
       Kindprozesse dieses Prozesses werden von init(1) geerbt (oder vom
       nachsten >>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 zuruckgegeben und kann durch den Elternprozess mit einem
       Aufruf der wait(2)-Familie ermittelt werden.

       Die Funktion _Exit() entspricht _exit().

RUCKGABEWERT
       Diese Funktionen kehren nicht zuruck.

STANDARDS
       _exit()
              POSIX.1-2008.

       _Exit()
              C11, POSIX.1-2008.

GESCHICHTE
       POSIX.1-2001, SVr4, 4.3BSD.

       _Exit() wurde in C99 eingefuhrt.

ANMERKUNGEN
       Fur eine Diskussion uber die Auswirkungen eines Exit, die Ubertragung
       des Exit-Status, Zombieprozesse, gesendete Signale, usw. lesen Sie
       exit(3).

       Die Funktion _exit() ist exit(3) ahnlich, ruft aber keine mit atexit(3)
       oder on_exit(3) registrierten Funktionen auf. Geoffnete stdio(3)-Strome
       werden nicht geleert. Andererseits schliesst _exit() offene
       Datei-Deskriptoren und dies konnte beim Warten auf das Beenden
       ausstehender Ausgaben eine nicht vorhersehbare Verzogerung verursachen.
       Falls die Verzogerung nicht erwunscht ist, kann es nutzlich 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, hangt 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 auswahlen oder das Senden
       von SIGCHLD an den Elternprozess werden nur durchgefuhrt, 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 Ausfuhrungsstrange 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)

UBERSETZUNG
       Die deutsche Ubersetzung 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 Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
       Public License Version 3 <https://www.gnu.org/licenses/gpl-3.0.html>
       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 die Mailingliste der Ubersetzer
       <debian-l10n-german@lists.debian.org>.

Linux man-pages 6.12             23. Juli 2024                        _exit(2)