mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

EXIT(2)                                                 EXIT(2)

НАЗВАНИЕ 
	exit, _exit - уничтожение вызвавшего процесса

СИНТАКСИС 
        void exit (status)
        int status;
        
        void _exit (status)
        int status;

ОПИСАНИЕ 
	Системный вызов exit терминирует  обратившийся  к  нему
	процесс, при этом последовательно выполняются следующие
	действия:

	В вызвавшем процессе закрываются все дескрипторы откры-
	тых файлов.

	Если  родительский процесс находится в состоянии вызова
	wait, то системный вызов wait завершается, выдавая  ро-
	дительскому  процессу в качестве результата идентифика-
	тор терминировавшегося процесса и младшие  8  бит  кода
	его завершения [см. wait(2)].

	Если  родительский процесс не находится в состоянии вы-
	зова wait, то процесс, вызвавший exit, переходит в сос-
	тояние зомби. Это такое состояние, когда процесс  зани-
	мает  только  элемент в таблице процессов и не занимает
	памяти ни в адресном пространстве  пользователя,  ни  в
	адресном  пространстве ядра. Элемент таблицы процессов,
	занятый зомби-процессом, содержит информацию о времени,
	затраченном процессом. Эта  информация  необходима  для
	вызова times [см. ].

	У  всех существующих потомков терминировавшихся процес-
	сов, а также у зомби-процессов идентификатор родительс-
	кого процесса устанавливается равным 1. Таким  образом,
	все  эти процессы наследуются инициализационным процес-
	сом [см. intro(2)].

	Все присоединенные разделяемые сегменты памяти отсоеди-
	няются  и в связанных с ними структурах данных значения
	полей shm_nattach уменьшаются на 1.

	В каждом семафоре, для которого у процесса имеется зна-
	чение semadj, это значение прибавляется к полю semval.

	Если  процесс удерживал в памяти сегмент команд, данных
	или всего себя целиком, то  удержание  отменяется  [см.
	plock(2)].

	Если включен режим сбора статистической информации,  то
	в файл сбора статистики помещается запись с информацией
	о процессе [см. acct(2)].

	Если идентификатор процесса, идентификатор группы  тер-
	минала  и  идентификатор  группы  процессов у процесса,
	вызвавшего exit, совпадают, то всем процессам с тем  же
	идентификатором   группы  процессов  посылается  сигнал
	SIGHUP.

	Родительскому процессу посылается сигнал SIGCLD (завер-
	шение порожденного процесса).

	C-функция exit перед уничтожением процесса может выпол-
	нять некоторые терминирующие действия, например, завер-
	шение профилирования. Функция _exit немедленно  уничто-
	жает вызвавший процесс.

СМ. ТАКЖЕ 
	acct(2),  intro(2),  plock(2),   semop(2),   signal(2),
	sigset(2), wait(2).

ПРЕДОСТЕРЕЖЕНИЯ 
	См. ПРЕДОСТЕРЕЖЕНИЯ в signal(2).

ДИАГНОСТИКА 
	Диагностика  отсутствует,  так как из системного вызова
	exit управление никогда не возвращается.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк