.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified Wed Jul 21 23:02:38 1993 by Rik Faith .\" Modified 2001-11-17, aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH _exit 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" .SH NAZWA _exit, _Exit \- kończy bieżący proces .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \fB[[noreturn]] void _exit(int \fP\fIstatus\fP\fB);\fP .P \fB#include \fP .P \fB[[noreturn]] void _Exit(int \fP\fIstatus\fP\fB);\fP .fi .P .RS -4 Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)): .RE .P \fB_Exit\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH OPIS Funkcja \fB_exit\fP() "natychmiast" kończy proces, z którego została wywołana. Wszystkie przynależące do procesu otwarte deskryptory plików są zamykane; wszystkie jego procesy potomne są przejmowane przez \fBinit\fP (lub przez najbliższy proces dorzynający (subreaper), zgodnie z definicją użycia operacji \fBPR_SET_CHILD_SUBREAPER\fP \fBprctl\fP(2)). Jego proces macierzysty otrzymuje sygnał \fBSIGCHLD\fP. .P Wartość \fIstatus & 0xFF\fP jest zwracana procesowi macierzystemu jako kod zakończenia procesu wywołującego tę funkcję i może zostać odczytana przez proces macierzysty za pomocą jednej z funkcji z rodziny \fBwait\fP(2). .P Funkcja \fB_Exit\fP() jest równoważna \fB_exit\fP(). .SH "WARTOŚĆ ZWRACANA" Funkcje te nigdy nie powracają. .SH STANDARDY .TP \fB_exit\fP() POSIX.1\-2008. .TP \fB_Exit\fP() C11, POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, SVr4, 4.3BSD. .P \fB_Exit\fP() wprowadzono w C99. .SH UWAGI Efekty zakończenia, transmisja kodu zakończenia, procesy zombie, przesyłanie sygnałów itp. zostały przedyskutowane w \fBexit\fP(3). .P Funkcja \fB_exit\fP() jest podobna do \fBexit\fP(3), ale nie wywołuje żadnych funkcji zarejestrowanych za pomocą funkcji \fBatexit\fP(3) lub \fBon_exit\fP(3). Otwarte strumienie \fBstdio\fP(3) nie są opróżniane. Z drugiej strony, \fB_exit\fP 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 \fItcflush\fP(3) przed wywołaniem \fB_exit\fP(). To, czy jakiekolwiek odłożone wejścia/wyjścia zostaną anulowane i które z nich mogą zostać anulowane podczas \fB_exit\fP(), zależy od implementacji. .SS "Różnice biblioteki C/jądra" Powyższy tekst w OPISIE dotyczy tradycyjnych skutków \fB_exit\fP(), obejmujących zakończenie procesu oraz semantykę określoną przez POSIX.1 i zaimplementowaną przez opakowującą funkcję biblioteczną C. We współczesnych systemach, oznacza to zakończenie wszelkich wątków procesu. .P .\" _exit() is used by pthread_exit() to terminate the calling thread W odróżnieniu od opakowującej funkcji bibliotecznej C, surowe linuksowe wywołanie systemowe \fB_exit\fP() kończy jedynie wywołujący wątek, a działania obejmujące przypisanie nowego rodzica procesom potomnym lub wysłanie \fBSIGCHLD\fP do procesów macierzystych są wykonywane wyłącznie w sytuacji, gdy jest to ostatni wątek z danej grupy wątków. .P Do glic 2.3, funkcja opakowująca \fB_exit\fP() przywoływała wywołanie systemowe o tej samej nazwie. Od glibc 2.3, funkcja opakowująca wywołuje \fBexit_group\fP(2), w celu zakończenia wszystkich wątków w procesie. .SH "ZOBACZ TAKŻE" \fBexecve\fP(2), \fBexit_group\fP(2), \fBfork\fP(2), \fBkill\fP(2), \fBwait\fP(2), \fBwait4\fP(2), \fBwaitpid\fP(2), \fBatexit\fP(3), \fBexit\fP(3), \fBon_exit\fP(3), \fBtermios\fP(3) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Andrzej Krzysztofowicz i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .