.\" -*- 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 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH НАИМЕНОВАНИЕ _exit, _Exit \- завершает вызывающий процесс .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH ОБЗОР .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 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fB_Exit\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ \fB_exit\fP() «безотлагательно» завершает вызывающий процесс. Все открытые дескрипторы файлов, принадлежащие процессу, закрываются. Все его дочерние процессы наследуются \fBinit\fP(1) (или ближайшим «собирающим» процессом, определённым вызовом \fBprctl\fP(2) с операцией \fBPR_SET_CHILD_SUBREAPER\fP).Родительскому процессу посылается сигнал \fBSIGCHLD\fP. .P Значение \fIstatus & 0xFF\fP возвращается родительскому процессу как код завершаемого процесса и может быть получено родительским процессом с помощью одного из семейства вызовов \fBwait\fP(2). .P Функция \fB_Exit\fP() эквивалентна \fB_exit\fP(). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Эти функции не выполняют возврат. .SH СТАНДАРТЫ .TP \fB_exit\fP() POSIX.1\-2008. .TP \fB_Exit\fP() C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, SVr4, 4.3BSD. .P \fB_Exit\fP() была добавлена в стандарт C99. .SH ПРИМЕЧАНИЯ Обсуждение эффектов при завершении работы, передачу кода выхода, зомби\-процессы, сигналы и т. п., смотрите в \fBexit\fP(3). .P Функция \fB_exit\fP() подобна \fBexit\fP(3), но не вызывает никаких функций, зарегистрированных с помощью \fBatexit\fP(3) или \fBon_exit\fP(3). Открытые потоки посредством \fBstdio\fP(3) не сбрасываются. С другой стороны, \fB_exit\fP() закрывает открытые дескрипторы файлов, а это может привести к неопределенной задержке, так как происходит ожидание завершения вывода данных. Если задержка нежелательна, то может быть полезным перед вызовом \fB_exit\fP() вызывать функцию типа \fBtcflush\fP(3). Будет ли отмена ожидания ввод\-вывода, а также какие именно ожидающие операции ввода\-вывода будут завершены при вызове \fB_exit\fP, зависит от реализации. .SS "Отличия между библиотекой C и ядром" Текст выше в разделе DESCRIPTION описывает традиционный эффект \fB_exit\fP(), который заключается в завершении процесса, и это семантика, определенная POSIX.1 и реализованная библиотечной оберткой на C. На современных системах это означает завершение всех потоков в процессе. .P .\" _exit() is used by pthread_exit() to terminate the calling thread В отличие от функции\-оболочки библиотеки C, системный вызов \fB_exit\fP() в Linux завершает только вызывающий поток, и такие действия, как смена родителя для дочерних процессов или отправка \fBSIGCHLD\fP родительскому процессу, выполняются только если это последний поток в группе потоков. .P До glibc 2.3 функция\-обертка \fB_exit\fP() вызывала системный вызов ядра с таким же именем. Начиная с glibc 2.3, функция\-обертка вызывает \fBexit_group\fP(2), чтобы завершить все нити процесса. .SH "СМОТРИТЕ ТАКЖЕ" \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 ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Yuri Kozlov и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .