Главная » 2017 » Ноябрь » 17 » man 2 exit
00:38
man 2 exit

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


_exit, _Exit - завершает вызывающий процесс



ОБЗОР


#include <unistd.h>

void _exit(int status);

#include <stdlib.h>

void _Exit(int status);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

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



ОПИСАНИЕ


Функция _exit() завершает "немедленно" завершает вызывающий процесс. Все
дескрипторы файлов, принадлежащие процессу, закрываются; все его дочерние процессы
начинают управляться процессом 1 (init), а родительскому процессу посылается
сигнал SIGCHLD.

Значение status возвращается родительскому процессу как код завершаемого процесса;
он может быть получен с помощью одной из функций семейства wait(2).

Функция _Exit() эквивалентна _exit().



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


Эти функции не выполняют возврат.



СООТВЕТСТВИЕ СТАНДАРТАМ


POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Функция _Exit() была представлена в C99.



ЗАМЕЧАНИЯ


Обсуждение эффектов при завершении работы, передачу кода выхода, зомби-процессы,
сигналы и т. п., смотрите в exit(3).

Функция _exit() подобна exit(3), но не вызывает никаких функций,
зарегистрированных с помощью atexit(3) или on_exit(3). Открытые потоки посредством
stdio(3) не сбрасываются. С другой стороны, _exit() закрывает открытые дескрипторы
файлов, а это может привести к неопределенной задержке, так как происходит
ожидание завершения вывода данных. Если задержка нежелательна, то может быть
полезным перед вызовом _exit() вызывать функцию типа tcflush(3). Будет ли отмена
ожидания ввод-вывода, а также какие именно ожидающие операции ввода-вывода будут
завершены при вызове _exit, зависит от реализации.

Отличия между библиотекой C и ядром
В glibc до версии 2.3, обёрточная функция _exit() вызывала системный вызов ядра с
тем же именем. Начиная с glibc 2.3, обёрточная функция вызывает exit_group(2),
чтобы завершить все нити процесса.



СМОТРИТЕ ТАКЖЕ


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



Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 547 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar