NAZWA
_exit, _Exit - zakończenie bieżącego procesu
SKŁADNIA
#include <unistd.h>
void _exit(int status);
#include <stdlib.h>
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
In glibc up to version 2.3, the _exit() wrapper
function invoked the kernel system call of the same name.
Since glibc 2.3, the wrapper function invokes
exit_group(2), in order to terminate all of the
threads in a process. (The raw _exit() system call
terminates only the calling thread.)
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.07 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 [AT] dione.pl>, Andrzej Krzysztofowicz <ankry [AT] green.pl> i Michał Kułach <michal.kulach [AT] 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 <manpages-pl-list [AT] lists.net>.