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)