9.1.6. Использование статуса завершения порожденного процесса

9.1.6. Использование статуса завершения порожденного процесса

Когда процесс заканчивается, нормальным ходом событий для ядра является освобождение всех его ресурсов. Ядро сохраняет статус завершения законченного процесса, также, как сведения о ресурсах, которые он использовал в своей работе, a PID продолжает считаться используемым. Такой завершившийся процесс называется зомби.

Родительский процесс, будь то первоначальный родитель или init, может получить статус завершения порожденного процесса. Или, посредством использования функций BDS, которые не стандартизованы POSIX, можно получить статус завершения вместе со сведениями об использовании ресурсов. Использование статуса осуществляется ожиданием окончания процесса: это известно также как пожинание (reaping) процесса[91].

Между механизмами, которые ожидают завершения потомков, и сигнальными механизмами, которые мы еще не обсуждали, есть значительное взаимодействие. Что из них описать вначале представляет собой нечто вроде проблемы курицы и яйца; мы решили сначала поговорить сначала о механизмах ожидания порожденного процесса, а глава 10 «Сигналы» дает полный рассказ о сигналах.

Пока достаточно понять, что сигнал является способом уведомления процесса о том, что произошло некоторое событие. Процессы могут генерировать сигналы, которые посылаются самим себе, или сигналы могут посылаться извне другими процессами или пользователем за терминалом. Например, CTRL-C посылает сигнал «прерывания», a CTRL-Z посылает сигнал управления работой «стоп».

По умолчанию, многие сигналы, такие, как сигнал прерывания, заставляют получающий процесс закончиться. Другие, такие, как сигналы управления работами, вызывают изменение его состояния. Механизмы ожидания порожденного процесса могут определить, претерпел ли процесс сигнал завершения, и если да, какой это был сигнал. То же верно и для остановки процесса и, на некоторых системах возобновления процесса.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Установка статуса

Из книги Мир общения: ICQ автора Леонтьев Виталий Петрович

Установка статуса Щелкнув по значку ICQ правой кнопкой и выбрав меню My Status, вы можете вручную установить свой статус в сети ICQ при входе в сеть. Базовый, основной статус, который и установлен у вас по умолчанию, подразумевает полную открытость: все видят вас, знают, что вы в


Повышение статуса идентификации

Из книги Все под контролем: Кто и как следит за тобой автора Гарфинкель Симеон

Повышение статуса идентификации И Бертильон, и Хершель понимали, что технологии идентификации в современном обществе могут использоваться с двумя целями. С одной стороны, эти технологии востребованы правоохранительными органами. Имея в своем распоряжении реестр


7.4 ОЖИДАНИЕ ЗАВЕРШЕНИЯ ВЫПОЛНЕНИЯ ПРОЦЕССА

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

7.4 ОЖИДАНИЕ ЗАВЕРШЕНИЯ ВЫПОЛНЕНИЯ ПРОЦЕССА Процесс может синхронизировать продолжение своего выполнения с моментом завершения потомка, если воспользуется системной функцией wait. Синтаксис вызова функции:pid = wait(stat_addr);где pid — значение кода идентификации (PID)


Изменение статуса в сети

Из книги Skype: бесплатные звонки через Интернет. Начали! автора Гольцман Виктор Иосифович

Изменение статуса в сети Программа отображает ваш статус определенным набором значков, посмотрев на которые, другие пользователи могут понять, находитесь ли вы в сети, или вас нет на месте, или вы просите не беспокоить. Такой значок располагается в нижней левой части


Пример: использование обработчиков завершения для повышения качества программ

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Пример: использование обработчиков завершения для повышения качества программ Обработчики исключений и завершения позволяют повысить надежность программ как за счет упрощения процедуры восстановления программы после возникновения ошибок и исключений, так и за счет


Ожидание завершения процесса

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

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


Онлайновый протокол статуса сертификата

Из книги Самоучитель Skype. Бесплатная связь через Интернет автора Яковлева Е. С.

Онлайновый протокол статуса сертификата Онлайновый протокол статуса сертификата OCSP - относительно простой протокол (типа "запрос-ответ") для получения информации об аннулировании от доверенного субъекта, называемого OCSP-респондером . OCSP-запрос состоит из номера версии


Проверка статуса сертификата

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

Проверка статуса сертификата Эта проверка завершается успешно, если издатель не аннулировал данный сертификат. Основным средством проверки статуса сертификата являются списки САС, но могут использоваться и другие альтернативные средства


Объявление вашего статуса

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Объявление вашего статуса Программа может сообщить всем вашим друзьям о вашем статусе, т. е. о том, находитесь вы в сети или нет, свободны вы для разговора или нет, на месте вы или нет, либо вы невидимы, или вас не нужно беспокоить. Причем программа сообщает об этом не просто


Изменение статуса

Из книги Linux программирование в примерах автора Роббинс Арнольд

Изменение статуса Статус легко изменить следующими способами:1. Выберите в меню Файл команду Изменить режим в сети и в раскрывающемся списке укажите режим связи.2. Вызовите раскрывающийся список, щелкнув на треугольничке в левом нижнем углу диалогового окна программы


Получение статуса семафора

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Получение статуса семафора int sem_getvalue(sem_t* sem, int* value);Эта функция используется преимущественно для отладки операций над семафорами. По адресу, указанному в value, устанавливается текущее значение счетчика семафора. Поскольку значение счетчика семафора может измениться в


Пример кода порожденного процесса

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Пример кода порожденного процесса #include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <string.h>#include <process.h>#include <sys/netmgr.h>#include <sys/neutrino.h>#include <errno.h>#include <locale.h>int main(int argc, char **argv) { int nid;      // Дескриптор текущего узла int CChanid;  // Идентификатор созданного канала int


9.1.5.1. Определение статуса завершения процесса

Из книги автора

9.1.5.1. Определение статуса завершения процесса Статус завершения (exit status) (известный также под другими именами значения завершения (exit value), кода возврата (return code) и возвращаемого значения (return value)) представляет собой 8-битовое значение, которое родитель может использовать


Использование сервера Yaffil внутри процесса

Из книги автора

Использование сервера Yaffil внутри процесса С точки зрения прикладной программы различие между встраиваемым сервером и обычным удаленным клиентом заключается в имени библиотеки динамической загрузки (DLL), связываемой с программой. Как известно, обычные приложения


3.4.1. Ожидание завершения процесса

Из книги автора

3.4.1. Ожидание завершения процесса Читатели, запускавшие программу fork-exec (см. листинг 3.4), должно быть, обратили внимание на то, что вывод команды ls часто появляется после того, как основная программа уже завершила свою работу. Это связано с тем, что дочерний процесс, в