Книга: Разработка приложений в среде Linux. Второе издание
12.1.1. Жизненный цикл сигнала
12.1.1. Жизненный цикл сигнала
Сигналы имеют четко определенный жизненный цикл: они создаются, сохраняются до тех пор, пока ядро не выполнит определенное действие на основе сигнала, а затем вызывают совершение этого действия. Создание сигнала называют по-разному: поднятие (raising), генерация или посылка сигнала. Обычно процесс посылает сигнал другому процессу, в то время как ядро генерирует сигналы для отправки процессу. Когда процесс посылает сигнал самому себе, говорят, что он поднимает его. Однако эти термины используются не особо согласованно.
Между временем, когда сигнал отправлен и тем, когда он вызывает какое-то действие, его называют ожидающим (pending). Это значит, что ядро знает, что сигнал должен быть обработан, но пока не имеет возможности сделать это. Как только сигнал поступает в процесс назначения, он называется доставленным. Если доставленный сигнал вызывает выполнение специального фрагмента кода (имеется в виду обработчик сигнала), то такой сигнал считается перехваченным. Есть разные способы, которыми процесс может предотвратить асинхронную доставку сигнала, но все же обработать его (например, с помощью системного вызова sigwait()
). Когда такое случается, сигнал называют принятым.
Чтобы облегчить понимание, мы будем использовать эту терминологию на протяжении всей книги[52].
- Жизненные циклы продуктов
- 7 Система Цикл: долгосрочные цели
- 1.2.6. Циклы и ветвление
- Оператор цикла foreach
- Цикл создания программы
- Этапы аутсорсинга в цикле прицельного маркетинга
- Существуют ли интернет-версии энциклопедий?
- Лекция 3. Формы и циклы
- Утвержденное описание жизненных циклов ПО
- 5 Система Цикл: списки дел и расписания
- Совет 43. Используйте алгоритмы вместо циклов
- Пример 12-39. Использование seq для генерации списка аргументов цикла for