> Linux Reviews > man >

exit


  1. exit.2.man
  2. exit.3.man
  3. exit.9.man


1. exit.2.man

Manpage of GETHOSTNAME

GETHOSTNAME

Section: Linux\-Programmierhandbuch (2)
Updated: 20. September 2010
Index Return to Main Contents
 

BEZEICHNUNG

gethostname, sethostname - bestimmt/setzt den Rechnernamen  

ÜBERSICHT

#include <unistd.h>

int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);

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

gethostname():

Seit Glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >=200112L
Bis Glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500

sethostname():
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
 

BESCHREIBUNG

Mit diesen Systemaufrufen erfragen und setzen Sie den Rechnernamen des aktuellen Prozessors.

sethostname() setzt den Rechnernamen auf den im Zeichenfeld (character array) name übergebenen Wert. Das Argument len gibt die Anzahl der Bytes in name an. (Deshalb erfordert name kein abschließendes Null-Byte.)

gethostname() gibt den (mit einem Null-Byte abgeschlossenen) Rechnernamen der Länge len Byte im Zeichenfeld name zurück. Ist der Rechnername zu groß für name, wird er ohne Fehlermeldung gekürzt (siehe aber die ANMERKUNGEN unten). POSIX.1-2001 legt nicht fest, ob im Fall einer solchen Kürzung der zurückgegebene Puffer ein abschließendes Null-Byte enthält.  

RÜCKGABEWERT

Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno entsprechend gesetzt.  

FEHLER

EFAULT
name ist eine ungültige Adresse.
EINVAL
len ist negativ oder das Argument len für sethostname() überschreitet die maximal zulässige Größe.
ENAMETOOLONG
gethostname() der Glibc gibt damit an, das len kleiner ist als die tatsächliche Größe. (Vor Version 2.1 verwendet Glibc in diesem Fall EINVAL.)
EPERM
Der Aufruf von sethostname() erfolgte ohne die CAP_SYS_ADMIN-Fähigkeit.
 

KONFORM ZU

SVr4, 4.4BSD (diese Schnittstellen kamen erstmals in 4.2BSD vor). POSIX.1-2001 spezifiziert gethostname(), aber nicht sethostname().  

ANMERKUNGEN

SUSv2 garantiert, dass »Rechnernamen auf 255 Byte begrenzt sind«. POSIX.1-2001 garantiert, dass »Rechnernamen (ohne das abschließende Null-Byte) auf HOST_NAME_MAX Byte begrenzt sind«. Für Linux ist HOST_NAME_MAX seit Version 1.0 auf 64 gesetzt (frühere Kernel setzten eine Grenze von 8 Byte).  

Anmerkungen zur Glibc

Die GNU-C-Bibliothek implementiert gethostname() nicht als Systemaufruf, sondern als Bibliotheksfunktion. Diese Funktion ruft uname(2) auf und kopiert bis zu len Byte aus dem zurückgegebenen Feld nodename nach name. Nach dem Kopieren prüft die Funktion, ob die Länge von nodename größer als oder gleich len ist. In diesem Fall gibt sie -1 zurück und setzt errno auf ENAMETOOLONG; der zurückgegebene name enthält dann kein abschließendes Null-Byte.

Glibc-Versionen vor 2.2 verhielten sich anders, wenn die Länge von nodename größer als oder gleich len war: sie kopierten nichts nach name, gaben -1 zurück und setzten errno auf ENAMETOOLONG.  

SIEHE AUCH

getdomainname(2), setdomainname(2), uname(2)  

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.

 

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von René Tschirley <gremlin@cs.tu-berlin.de>, Jens Seidel <jensseidel@users.sf.net> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> 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@lists.debian.org>.


 

Index

BEZEICHNUNG
ÜBERSICHT
BESCHREIBUNG
RÜCKGABEWERT
FEHLER
KONFORM ZU
ANMERKUNGEN
Anmerkungen zur Glibc
SIEHE AUCH
KOLOPHON
ÜBERSETZUNG

This document was created by man2html using the manual pages.
Time: 17:34:55 GMT, October 23, 2013

2. exit.3.man

Manpage of EXIT

EXIT

Section: Linux\-Programmierhandbuch (3)
Updated: 20. September 2009
Index Return to Main Contents
 

BEZEICHNUNG

exit - ein normales Prozessende veranlassen  

ÜBERSICHT

#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 zurück (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 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 _exit(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 stdio(3)-Datenströmen) 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)-Datenströme 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() übergeben werden und ein erfolgreiches beziehungsweise erfolgloses Beenden anzeigen.  

RÜCKGABEWERT

Die Funktion exit() kehrt nichts zurück.  

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 übertragen werden. Dabei werden drei Fälle 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 ü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 wait(2)-Funktionen aufruft.

Wenn die Implementation das Signal SIGCHLD unterstützt, 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 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 SIGHUP-Signal gesandt und das Terminal wird von dieser Sitzung gelöst, was ermöglicht, dass es von einem neuen steuernden Prozess übernommen 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 Erläuterung verwaister Prozessgruppen suchen.  

SIEHE AUCH

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

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.

 

ÜBERSETZUNG

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


 

Index

BEZEICHNUNG
ÜBERSICHT
BESCHREIBUNG
RÜCKGABEWERT
KONFORM ZU
ANMERKUNGEN
SIEHE AUCH
KOLOPHON
ÜBERSETZUNG

This document was created by man2html using the manual pages.
Time: 17:34:55 GMT, October 23, 2013

3. exit.9.man

Manpage of exit

exit

Section: Tcl Built-In Commands (n)
Updated:
Index Return to Main Contents



 

NAME

exit - End the application  

SYNOPSIS

exit ?returnCode?



 

DESCRIPTION

Terminate the process, returning returnCode to the system as the exit status. If returnCode is not specified then it defaults to 0.  

EXAMPLE

Since non-zero exit codes are usually interpreted as error cases by the calling process, the exit command is an important part of signaling that something fatal has gone wrong. This code fragment is useful in scripts to act as a general problem trap:

proc main {} {
    # ... put the real main code in here ...
}

if {[catch {main} msg options]} {
    puts stderr "unexpected script error: $msg"
    if {[info exist env(DEBUG)]} {
        puts stderr "---- BEGIN TRACE ----"
        puts stderr [dict get $options -errorinfo]
        puts stderr "---- END TRACE ----"
    }

    # Reserve code 1 for "expected" error exits...
    exit 2
}

 

SEE ALSO

exec(n)

 

KEYWORDS

exit, process


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLE
SEE ALSO
KEYWORDS

This document was created by man2html using the manual pages.
Time: 17:34:55 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - cs - da - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl - ro - SVENSKA - zh_CN