Provided by: manpages-pl-dev_4.15.0-9_all bug

NAZWA

       _exit, _Exit - zakończenie bieżącego procesu

SKŁADNIA

       #include <unistd.h>

       noreturn void _exit(int status);

       #include <stdlib.h>

       noreturn void _Exit(int status);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       _Exit():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

OPIS

       _exit()   terminates  the  calling  process  "immediately".   Any  open  file  descriptors
       belonging to the process are closed.  Any children of the process are inherited by init(1)
       (or  by  the  nearest  "subreaper"  process  as  defined  through  the use of the prctl(2)
       PR_SET_CHILD_SUBREAPER operation).  The process's parent is sent a SIGCHLD signal.

       The value status & 0xFF is returned to the parent process as the  process's  exit  status,
       and can be collected by the parent using one of the wait(2)  family of calls.

       Funkcja _Exit() jest równoważna _exit().

WARTOŚĆ ZWRACANA

       Funkcje te nigdy nie powracają.

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Funkcja _Exit() została wprowadzona przez C99.

UWAGI

       Efekty zakończenia, transmisja kodu zakończenia, procesy zombie, przesyłanie sygnałów itp.
       zostały przedyskutowane w exit(3).

       Funkcja _exit() jest podobna do exit(3), ale nie wywołuje żadnych funkcji zarejestrowanych
       za pomocą funkcji atexit(3) lub on_exit(3). Otwarte strumienie stdio(3) nie są opróżniane.
       Z drugiej strony, _exit nie zamyka  otwartych  deskryptorów  plików,  co  może  spowodować
       nieoczekiwane  opóźnienia  podczas  oczekiwania  na  zakończenie odłożonych zapisów. Jeśli
       opóźnienia te są niepożądane,  to  może  być  przydatne  wywołanie  funkcji  podobnych  do
       tcflush(3)  przed  wywołaniem  _exit().   To,  czy  jakiekolwiek  odłożone  we/wy zostanie
       anulowane i które z nich mogą zostać anulowane podczas _exit(), zależy od implementacji.

   Różnice biblioteki C/jądra
       W glibc do wersji 2.3, funkcja opakowująca _exit() przywołuje wywołanie  systemowe  o  tej
       samej nazwie. Od glibc 2.3, funkcja opakowująca wywołuje exit_group(2), w celu zakończenia
       wszystkich wątków w procesie.

       The raw _exit()  system call terminates only the  calling  thread,  and  actions  such  as
       reparenting child processes or sending SIGCHLD to the parent process are performed only if
       this is the last thread in the thread group.

ZOBACZ TAKŻE

       execve(2), exit_group(2), fork(2),  kill(2),  wait(2),  wait4(2),  waitpid(2),  atexit(3),
       exit(3), on_exit(3), termios(3)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  5.13  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów oraz  najnowszą  wersję  oryginału  można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony  podręcznika  są:  Przemek  Borys
       <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> 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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.