Manpages

BEZEICHNUNG

_exit, _Exit – beendet den aufrufenden Prozess

ÜBERSICHT

#include <unistd.h>

void _exit(int status);

#include <stdlib.h>

void _Exit(int status);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

_Exit():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

BESCHREIBUNG

Die Funktion _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−Operation mittels prctl(2) festgelegt wird). Dem Elternprozess wird ein SIGCHLD−Signal gesandt.

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

Die Funktion _Exit() entspricht _exit().

RÜCKGABEWERT

Diese Funktionen kehren nicht zurück.

KONFORM ZU

POSIX.1−2001, POSIX.1−2008, SVr4, 4.3BSD. Die Funktion _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
In Glibc bis einschließlich Version 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)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.12 des Projekts Linux−man−pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man−pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey [AT] infodrom.org>, Chris Leick <c.leick [AT] vollbio.de> und Dr. Tobias Quathamer <toddy [AT] debian.org> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 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 <debian-l10n-german [AT] lists.org>.

COMMENTS