Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       exit - normalne zakończenie programu

SKŁADNIA

       #include <stdlib.h>

       void exit(int status);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       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)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 exit

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.

                                            2001-11-17                                    EXIT(3)