exit
1. exit.2.man
Invalid Manpage
Invalid Manpage
The requested file (stdin) is not a valid (unformatted) man page.2. exit.3.man
Manpage of EXIT
EXIT
Section: Podręcznik programisty Linuksa (3)Updated: 2001-11-17
Index Return to Main Contents
NAZWA
exit - normalne zakończenie programuSKŁADNIA
#include <stdlib.h> void exit(int status);
OPIS
Funkcja exit() powoduje normalne zakończenie programu i zwraca do procesu macierzystego wartość status & 0377. (patrz wait(2)). Wszystkie funkcje zarejestrowane za pomocą atexit() oraz on_exit() są wykonywane w kolejności odwrotnej niż zostały zarejestrowane, a wszystkie otwarte strumienie są zamykane i wypróżniane są ich bufory. Pliki utworzone za pomocą tmpfile() są usuwane.Standard C wymienia dwie definicje EXIT_SUCCESS i EXIT_FAILURE, które mogą zostać przekazane do exit(), aby wskazać, odpowiednio, czy zakończenie było pomyślne, czy nie.
WARTOŚĆ ZWRACANA
Funkcja exit() nie powraca.ZGODNE Z
SVID 3, POSIX, BSD 4.3, ISO 9899 (``ANSI C'')NOTES
Za pomocą atexit() i on_exit() można zarejestrować dodatkowe funkcje, które zostaną wywołane podczas zakończenia. Usuwana z szeregu, a następnie wywoływana, jest zawsze ostatnia funkcja. Nie jest zdefiniowane, co się stanie, jeżeli podczas przetwarzania tych funkcji zostanie wywołane exit() lub longjmp().Używanie EXIT_SUCCESS i EXIT_FAILURE zamiast 0 i pewnej wartości niezerowej, jak 1 lub -1, zapewnia nieco lepszą przenośność (do środowisk nieuniksowych). W szczególności, VMS używa innej konwencji.
BSD próbował zestandaryzować kody zakończenia - obejrzyj plik <sysexits.h>.
Po wywołaniu exit(), kod zakończenia musi zostać przekazany do procesu macierzystego. Możliwe są trzy przypadki. Jeśli proces macierzysty ma ustawione SA_NOCLDWAIT lub ustawiony uchwyt SIGCHLD na SIG_IGN, to kod ten jest ignorowany. Jeśli proces macierzysty czekał na potomny, jest on powiadamiany o kodzie powrotu. W obu przypadkach kończący się proces ginie natychmiast. Jeśli proces macierzysty nie poinformował, że nie jest zainteresowany kodem zakończenia ani nie czeka, kończący się proces przechodzi w proces "zombie" (który nie zawiera nic oprócz pojedynczego bajtu reprezentującego kod zakończenia) tak, że proces macierzysty może poznać kod powrotu poprzez późniejsze wywołanie jednej z funkcji wait().
Jeśli implementacja wspiera sygnał SIGCHLD, to zostanie on wysłany do procesu macierzystego. Jeśli proces macierzysty ustawił SA_NOCLDWAIT, to nie jest zdefiniowane, czy sygnał SIGCHLD zostanie wysłany.
Jeśli proces jest inicjatorem sesji a sterujący nim terminal jest terminalem starującym dla sesji, to do każdego z procesów należących do grupy procesów pierwszoplanowych tego terminala sterującego, zostanie wysłany sygnał SIGHUP, a terminal zostanie odłączony od sesji umożliwiając jego przejęcie przez nowy proces sterujący.
Jeśli zakończenie peocesu powoduje osierocenie grupy procesów, a którykolwiek z członków nowoosieroconej grupy procesów jest zatrzymany, to po sygnale SIGHUP do każdego z procesów tej grupy procesów zostanie wysłany sygnał SIGCONT.
ZOBACZ TAKŻE
_exit(2), wait(2), atexit(3), on_exit(3), tmpfile(3)
Index
This document was created by man2html using the manual pages.
Time: 00:24:50 GMT, November 20, 2008
3. exit.9.man
Manpage of exit
exit
Section: Tcl Built-In Commands (n)Updated:
Index Return to Main Contents
NAME
exit - End the applicationSYNOPSIS
exit ?returnCode?DESCRIPTION
Terminate the process, returning returnCode to the system as the exit status. If returnCode isn't 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 signalling 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]} { puts stderr "unexpected script error: $msg" if {[info exist env(DEBUG)]} { puts stderr "---- BEGIN TRACE ----" puts stderr $errorInfo puts stderr "---- END TRACE ----" } # Reserve code 1 for "expected" error exits... exit 2 }
SEE ALSO
exec(n), tclvars(n)KEYWORDS
exit, process
Index
This document was created by man2html using the manual pages.
Time: 00:24:50 GMT, November 20, 2008





