<<
>>

Завершение процесса. Функция exit()

Существует два способа корректного завершения процесса в программах, написанных на языке С. Первый способ мы использовали до сих пор: процесс корректно завершался по достижении конца функции main () или при выполнении оператора return в функции main (), второй способ применяется при необходимости завершить процесс в каком- либо другом месте программы.
Для этого используется функция exit () из стандартной библиотеки функций для языка С. При выполнении этой функции происходит сброс всех частично заполненных буферов ввода-
вывода с закрытием соответствующих потоков, после чего инициируется системный вызов прекращения работы процесса и перевода его в состояние закончил исполнение.

Возврата из функции в текущий процесс не происходит и функция ничего не возвращает.

Значение параметра функции exit {) — кода завершения процесса — передается ядру операционной системы и может быть затем получено процессом, породившим завершившийся процесс. На самом деле при достижении конца функции main() также неявно вызывается эта функция со значением параметра 0.


Если процесс завершает свою работу раньше, чем его родитель, и родитель явно не указал, что он не хочет получать информацию о статусе завершения порожденного процесса (об этом будет рассказано подробнее на семинарах 13—14 при изучении сигналов), то завершившийся процесс не исчезает из системы окончательно, а остается в состоянии закончил исполнение либо до завершения процесса-родителя, либо до того момента, когда родитель получит эту информацию. Процессы, находящиеся в состоянии закончил исполнение, в операционной системе UNIX принято называть процессами-зомби (zombie, defunct).

<< | >>
Источник: В.Е. Карпов К.А. Коньков. Основы операционных систем. 2005 {original}

Еще по теме Завершение процесса. Функция exit():

  1. 5.3. Exit-Poll: вы уже проголосовали?
  2. В процессе правовой социализациии воздействия на правосознание человека средства массовой информации призваны выполнять следующие функции
  3. МЕТОДОЛОГИЧЕСКАЯ ОСНОВА И ДВИЖУЩИЕ СИЛЫ ПРОЦЕССА ОБУЧЕНИЯ. ФУНКЦИИ ОБУЧЕНИЯ, ИХ ВЗАИМОСВЯЗЬ
  4. 1.3.2. Функции социологии социальной сферы и уровни организации изучения социальных процессов
  5. Функции журналистики. Понятие функцию Многообразие социальных и информационных потребностей общества – объективная основа функций журналистики.
  6. Завершение допроса.
  7. “Не язык — функция поэта, а поэт — функция языка”
  8. Завершенная мандала
  9. 4.5. Завершение беседы
  10. Глава четвертая ЗАВЕРШЕНИЕ
  11. 4.3. Завершение сеанса