Системный вызов exit

Если процесс в результате своей работы выполнил до конца программу, определяющую его функционирование, или же другой, имеющий соответствующие полномочия процесс прервал его работу, то ОС выполнит очистку некоторых областей оперативной памяти, исключит его из планирования оперативной памяти и времени. Тем самым процесс прекратит свое существование.

Обычно причиной завершения функционирования процесса становится либо осуществление программой, выполняющейся в рамках этого процесса, системного вызова exit, либо выполнение оператора return, входящего в состав функции main этой программы.

Итак, процесс может завершить себя вызовом либо функции

void exit(int status);

либо функции

void _exit(int status);

Две формы, exit() и _ exit() отличаются тем, что exit() – функция библиотеки stdlib, а _exit() – системный вызов. (Функция exit() запускает системный вызов _exit()).

В результате осуществления системного вызова exit все открытые процессом или унаследованные им файлы будут закрыты, а процессу-предку (в том случае, если он в свое время осуществил системный вызов wait) будет возвращено значение, хранящееся в переменной status.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: