|
EXIT(2)НАЗВАНИЕ СИНТАКСИС void exit (status) int status; void _exit (status) int status; ОПИСАНИЕ
У всех существующих потомков терминировавшихся процессов, а также у зомби-процессов идентификатор родительского процесса устанавливается равным 1. Таким образом, все эти процессы наследуются инициализационным процессом [см. intro(2)]. Все присоединенные разделяемые сегменты памяти отсоединяются и в связанных с ними структурах данных значения полей shm_nattach уменьшаются на 1. В каждом семафоре, для которого у процесса имеется значение semadj, это значение прибавляется к полю semval. Если процесс удерживал в памяти сегмент команд, данных или всего себя целиком, то удержание отменяется [см. plock(2)]. Если включен режим сбора статистической информации, то в файл сбора статистики помещается запись с информацией о процессе [см. acct(2)]. Если идентификатор процесса, идентификатор группы терминала и идентификатор группы процессов у процесса, вызвавшего exit, совпадают, то всем процессам с тем же идентификатором группы процессов посылается сигнал SIGHUP. Родительскому процессу посылается сигнал SIGCLD (завершение порожденного процесса). C-функция exit перед уничтожением процесса может выполнять некоторые терминирующие действия, например, завершение профилирования. Функция _exit немедленно уничтожает вызвавший процесс. СМ. ТАКЖЕ ПРЕДОСТЕРЕЖЕНИЯ ДИАГНОСТИКА |
|