Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       exit - normalne zakoczenie programu

SK/LADNIA

       #include <stdlib.h>

       void exit(int status);

OPIS

       Funkcja  exit()  powoduje  normalne  zakoczenie  programu  i  zwraca do
       procesu macierzystego warto status & 0377.  (patrz wait(2)).  Wszystkie
       funkcje  zarejestrowane za pomoc atexit() oraz on_exit() s wykonywane w
       kolejnoci odwrotnej ni  zostaly  zarejestrowane,  a  wszystkie  otwarte
       strumienie  s  zamykane  i  wyproniane s ich bufory. Pliki utworzone za
       pomoc tmpfile() s usuwane.

       Standard C wymienia dwie definicje EXIT_SUCCESS i  EXIT_FAILURE,  ktore
       mog zosta przekazane do exit(), aby wskaza, odpowiednio, czy zakoczenie
       bylo pomylne, 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()  mona  zarejestrowa  dodatkowe  funkcje,
       ktore  zostan  wywolane  podczas  zakoczenia.   Usuwana  z  szeregu,  a
       nastpnie  wywolywana,  jest  zawsze   ostatnia   funkcja.    Nie   jest
       zdefiniowane,  co  si  stanie, jeeli podczas przetwarzania tych funkcji
       zostanie wywolane exit() lub longjmp().

       Uywanie  EXIT_SUCCESS  i  EXIT_FAILURE  zamiast  0  i  pewnej   wartoci
       niezerowej,  jak  1  lub -1, zapewnia nieco lepsz przenono (do rodowisk
       nieuniksowych).  W szczegolnoci, VMS uywa innej konwencji.

       BSD  probowal  zestandaryzowa   kody   zakoczenia   -   obejrzyj   plik
       <sysexits.h>.

       Po  wywolaniu  exit(),  kod zakoczenia musi zosta przekazany do procesu
       macierzystego. Moliwe s trzy  przypadki.  Jeli  proces  macierzysty  ma
       ustawione  SA_NOCLDWAIT lub ustawiony uchwyt SIGCHLD na SIG_IGN, to kod
       ten jest ignorowany. Jeli proces macierzysty czekal na potomny, jest on
       powiadamiany o kodzie powrotu. W obu przypadkach koczcy si proces ginie
       natychmiast. Jeli proces  macierzysty  nie  poinformowal,  e  nie  jest
       zainteresowany  kodem  zakoczenia  ani  nie  czeka,  koczcy  si  proces
       przechodzi w proces "zombie" (ktory nie zawiera nic oprocz pojedynczego
       bajtu  reprezentujcego  kod  zakoczenia)  tak, e proces macierzysty moe
       pozna kod powrotu poprzez poniejsze wywolanie jednej z funkcji wait().

       Jeli implementacja wspiera sygnal SIGCHLD, to zostanie  on  wyslany  do
       procesu macierzystego. Jeli proces macierzysty ustawil SA_NOCLDWAIT, to
       nie jest zdefiniowane, czy sygnal SIGCHLD zostanie wyslany.

       Jeli proces  jest  inicjatorem  sesji  a  sterujcy  nim  terminal  jest
       terminalem  starujcym  dla  sesji,  to do kadego z procesow nalecych do
       grupy procesow pierwszoplanowych tego  terminala  sterujcego,  zostanie
       wyslany sygnal SIGHUP, a terminal zostanie odlczony od sesji umoliwiajc
       jego przejcie przez nowy proces sterujcy.

       Jeli  zakoczenie  peocesu  powoduje  osierocenie  grupy   procesow,   a
       ktorykolwiek z czlonkow nowoosieroconej grupy procesow jest zatrzymany,
       to po sygnale SIGHUP do kadego z procesow tej grupy  procesow  zostanie
       wyslany sygnal SIGCONT.

ZOBACZ TAKE

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

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.

                                  2001-11-17                           EXIT(3)