_exit
"немедленно" завершает работу программы. Все дескрипторы файлов,
принадлежащие процессу, закрываются; все его дочерние процессы
начинают управляться процессом 1 (init), а родительскому процессу
посылается сигнал
SIGCHLD.
Значение
status
возвращается родительскому процессу как статус завершаемого процесса; он
может быть получен с помощью одной из функций семейства
wait.
Функция
_Exit
эквивалентна функции
_exit.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Эти функции никогда не возвращают управление вызвавшей их программе.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, SVID, POSIX, X/OPEN, BSD 4.3.
Функция _Exit() была представлена C99.
ЗАМЕЧАНИЯ
Для рассмотрения эффектов завершения работы, передачу статуса выхода,
зомби-процессов, сигналов и т.п., смотрите документацию по
exit(3).
Функция
_exit
аналогична exit(), но не вызывает никаких функций,
зарегистрированных с функцией ANSI C
atexit,
а также не вызывает никаких зарегистрированных обработчиков сигналов.
Будет ли выполняться сброс стандартных буферов ввода-вывода и
удаление временных файлов, созданных
tmpfile(3),
зависит от реализации.
С другой стороны,
_exit
закрывает открытые дескрипторы файлов, а это может привести к
неопределенной задержке для завершения вывода данных.
Если задержка нежелательна, то может быть полезным
перед вызовом _exit() вызывать функции типа tcflush().
Будет ли завершен ввод-вывод, а также какие именно операции
ввода-вывода будут завершены при вызове _exit(),
зависит от реализации.