.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2001 Andries Brouwer . .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EXIT 3 "20. September 2009" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG exit \- ein normales Prozessende veranlassen .SH ÜBERSICHT .nf \fB#include \fP .sp \fBvoid exit(int \fP\fIstatus\fP\fB);\fP .fi .SH BESCHREIBUNG Die Funktion \fBexit\fP() veranlasst ein normales Prozessende und gibt den Wert von \fIstatus & 0377\fP an den Elternprozess zurück (siehe \fBwait\fP(2)). .LP Die mit \fBatexit\fP(3) und \fBon_exit\fP(3) registrierten Funktionen werden in der umgekehrten Reihenfolge ihrer Registrierung aufgerufen. (Eine solche Funktion kann \fBatexit\fP(3) oder \fBon_exit\fP(3) aufrufen, um eine zusätzliche Funktion zu registrieren, die während des Exit\-Prozesses ausgeführt wird; die neue Registrierung wird am Anfang der Liste verbleibender Funktionen hinzugefügt, die noch aufgerufen werden.) Wenn eine dieser Funktionen nicht zurückkehrt (z.B. wenn sie \fB_exit\fP(2) aufruft oder sich selbst mit einem Signal beendet), dann wird keine der verbleibenden Funktionen aufgerufen und die weitere Exit\-Ausführung (insbesondere Leeren von \fBstdio\fP(3)\-Datenströmen) wird abgebrochen. Falls eine Funktion mehrmals mit \fBatexit\fP(3) oder \fBon_exit\fP(3) registriert wurde, dann wird sie so oft aufgerufen, wie sie registriert wurde. .LP Alle offenen \fBstdio\fP(3)\-Datenströme werden geleert und geschlossen. Durch \fBtmpfile\fP(3) erzeugte Dateien werden entfernt. .LP Der C\-Standard spezifiziert zwei Konstanten, \fBEXIT_SUCCESS\fP und \fBEXIT_FAILURE\fP, die an \fBexit\fP() übergeben werden und ein erfolgreiches beziehungsweise erfolgloses Beenden anzeigen. .SH RÜCKGABEWERT Die Funktion \fBexit\fP() kehrt nichts zurück. .SH "KONFORM ZU" SVr4, 4.3BSD, POSIX.1\-2001, C89, C99. .SH ANMERKUNGEN .LP Es ist undefiniert, was geschieht, wenn eine der mit \fBatexit\fP(3) und \fBon_exit\fP(3) registrierten Funktionen \fBexit\fP() oder \fBlongjmp\fP(3) aufruft. .LP \fBEXIT_SUCCESS\fP und \fBEXIT_FAILURE\fP 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. .LP BSD versuchte, die Exit\-Codes zu standardisieren; siehe die Datei \fI\fP. .LP Nach \fBexit\fP() muss der Exit\-Status an den Elternprozess übertragen werden. Dabei werden drei Fälle unterschieden. Falls beim Elternprozess \fBSA_NOCLDWAIT\fP gesetzt ist oder die \fBSIGCHLD\fP\-Behandlungsroutine auf \fBSIG_IGN\fP gesetzt wurde, wird der Status verworfen. Wenn der Elternprozess auf den Kindprozess wartete, wird er über den Exit\-Status benachrichtigt. In beiden Fällen »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 Behälter für einen einzelnen Wert, den Exit\-Status), so dass der Elternprozess den Exit\-Status erfahren kann, indem er später eine der \fBwait\fP(2)\-Funktionen aufruft. .LP Wenn die Implementation das Signal \fBSIGCHLD\fP unterstützt, wird dieses Signal an den Elternprozess gesandt. Falls der Elternprozess \fBSA_NOCLDWAIT\fP gesetzt hat, ist nicht definiert, ob ein \fBSIGCHLD\fP gesandt wird. .LP Falls der Prozess der führende 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 \fBSIGHUP\fP\-Signal gesandt und das Terminal wird von dieser Sitzung gelöst, was ermöglicht, dass es von einem neuen steuernden Prozess übernommen wird. .LP Falls das Beenden des Prozesses das Verwaisen einer Prozessgruppe verursacht und jedes Mitglied der neu verwaisten Gruppe gestoppt wird, dann wird ein \fBSIGHUP\fP\-Signal gefolgt von einem \fBSIGCONT\fP\-Signal an jeden Prozess in dieser Prozessgruppe gesandt. Lesen Sie \fBsetpgid\fP(2), wenn Sie eine Erläuterung verwaister Prozessgruppen suchen. .SH "SIEHE AUCH" \fB_exit\fP(2), \fBsetpgid\fP(2), \fBwait\fP(2), \fBatexit\fP(3), \fBon_exit\fP(3), \fBtmpfile\fP(3) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Stefan Janke und Chris Leick 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 .