Provided by: manpages-pl-dev_4.21.0-2_all bug

NAZWA

       exit - powoduje normalne zakończenie programu

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <stdlib.h>

       [[noreturn]] void exit(int status);

OPIS

       The  exit()   function  causes normal process termination and the least significant byte of status (i.e.,
       status & 0xFF) is returned to the parent (see wait(2)).

       Wszystkie funkcje zarejestrowane przez  atexit(3) i on_exit(3) są wywoływane w  kolejności  odwrotnej  do
       kolejności  ich  rejestracji.  (Możliwe  jest,  aby  którakolwiek  z  tych  funkcji  użyła  atexit(3) lub
       on_exit(3), aby zarejestrować dodatkowe funkcje wykonywane  podczas  kończenia  działania  procesu;  nowe
       funkcje  są  dodawane  na początek listy funkcji przeznaczonych do wywołania). Jeśli jedna z tych funkcji
       nie powróci (to jest wywoła _exit(2) lub się zabije za pomocą sygnału), to żadna  z  pozostałych  funkcji
       nie  będzie  wywołana  i  dalsze  przetwarzanie  (w  szczególności  opróżnianie  strumieni stdio(3)) jest
       przerywane. Jeśli ta sama funkcja zostanie  zarejestrowana za pomocą atexit(3) lub on_exit(3) więcej  niż
       raz, to będzie wywołana tyle razy, ile razy była zarejestrowana.

       Wszystkie  otwarte  strumienie  stdio(3)  są  opróżniane  i zamykane. Pliki utworzone przez tmpfile(3) 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 też nie.

WARTOŚĆ ZWRACANA

       Funkcja exit() nie powraca.

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌────────────────────────────────────────────────────────┬────────────────────────┬─────────────────────┐
       │ InterfejsAtrybutWartość             │
       ├────────────────────────────────────────────────────────┼────────────────────────┼─────────────────────┤
       │ exit()                                                 │ Bezpieczeństwo wątkowe │ MT-Unsafe race:exit │
       └────────────────────────────────────────────────────────┴────────────────────────┴─────────────────────┘

       Funkcja exit() używa niezabezpieczonej zmiennej globalnej, w związku z czym nie jest wątkowo bezpieczna.

STANDARDY

       POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.

UWAGI

       Nie  jest  zdefiniowane  zachowanie,  gdy  jedna  z funkcji zarejestrowanych przez atexit(3) i on_exit(3)
       wywoła exit() lub longjmp(3). Proszę zauważyć, że wywołanie execve(2) usuwa rejestracje  utworzone  przez
       atexit(3) i on_exit(3).

       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  has  attempted to standardize exit codes (which some C libraries such as the GNU C library have also
       adopted); see the file <sysexits.h>.

       After exit(), the exit status must be transmitted to the parent process.  There are three cases:

       •  If the parent has set SA_NOCLDWAIT, or has set the SIGCHLD handler to SIG_IGN, the status is discarded
          and the child dies immediately.

       •  If the parent was waiting on the child, it  is  notified  of  the  exit  status  and  the  child  dies
          immediately.

       •  Otherwise,  the  child  becomes  a "zombie" process: most of the process resources are recycled, but a
          slot containing minimal information about  the  child  process  (termination  status,  resource  usage
          statistics)  is  retained in process table.  This allows the parent to subsequently use waitpid(2) (or
          similar) to learn the termination status of the child; at  that  point  the  zombie  process  slot  is
          released.

       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.

   Signals sent to other processes
       Jeśli  proces  wychodzący  jest inicjatorem sesji a sterujący nim terminal jest terminalem sterują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 procesu powoduje osierocenie grupy procesów, a którykolwiek z członków nowo osieroconej
       grupy procesów jest zatrzymany, to po sygnale SIGHUP do każdego z procesów tej  grupy  procesów  zostanie
       wysłany sygnał SIGCONT. Opis osieroconych grup procesów można znaleźć w podręczniku setpgid(2).

       Except  in  the  above  cases,  where the signalled processes may be children of the terminating process,
       termination of a process does not in general cause a signal to be  sent  to  children  of  that  process.
       However,  a process can use the prctl(2)  PR_SET_PDEATHSIG operation to arrange that it receives a signal
       if its parent terminates.

ZOBACZ TAKŻE

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

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika  są:  Adam  Byrtek  <alpha@irc.pl>,  Andrzej
       Krzysztofowicz   <ankry@green.mf.pg.gda.pl>,   Robert   Luberda   <robert@debian.org>   i  Michał  Kułach
       <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając   się   z   GNU General Public License w wersji 3   lub  nowszej.  Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.03                            5 lutego 2023 r.                                         exit(3)