Книга: Linux программирование в примерах
10.2. Действия сигналов
10.2. Действия сигналов
Каждый сигнал (вскоре мы представим полный список) имеет связанное с ним действие по умолчанию. POSIX обозначает это как диспозицию (disposition) сигнала. Это то действие, которое ядро осуществляет для процесса, когда поступает определенный сигнал. Действие по умолчанию варьирует:
Завершение
Процесс завершается.
Игнорирование
Сигнал игнорируется. Программа никогда не узнает, что что-то случилось.
Снимок образа процесса
Процесс завершается, и ядро создает файл core (в текущем каталоге процесса), содержащий образ работавшей на момент поступления сигнала программы. Снимок процесса может впоследствии использоваться с отладчиком для исследования состояния программы (см. главу 15 «Отладка»).
По умолчанию системы GNU/Linux создают файлы с именем core.pid
, где pid
является ID завершаемого процесса. (Это можно изменить; см. sysctl(8).) Такое именование позволяет хранить в одном и том же каталоге несколько файлов core
, за счет использования большего дискового пространства.[105] Традиционные системы Unix называют файл core
, и это ваше дело сохранить какие-нибудь файлы core
для последующего изучения, если есть шанс создания других таких же файлов в том же каталоге.
Остановка
Процесс останавливается. Впоследствии он может быть возобновлен. (Если вы использовали управление заданиями оболочки с помощью CTRL-Z, fg
и bg
, вы понимаете остановку процесса.)
- 10.1. Введение
- 10.2. Действия сигналов
- 10.3. Стандартные сигналы С: signal() и raise()
- 10.4. Обработчики сигналов в действии
- 10.5. API сигналов System V Release 3: sigset() и др.
- 10.6. Сигналы POSIX
- 10.7. Сигналы для межпроцессного взаимодействия
- 10.8. Важные сигналы специального назначения
- 10.9. Сигналы, передающиеся через fork() и exec()
- 10.10. Резюме
- Упражнения
- 15.1.3. Обработка сигналов управления заданиями
- 10.4. Обработчики сигналов в действии
- 10.4.3. Игнорирование сигналов
- 10.6.5. Извлечение ожидающих сигналов: sigpending()
- 10.7. Сигналы для межпроцессного взаимодействия
- 7.2.3 Посылка сигналов процессами
- Последующие действия
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- Неквалифицированные действия пользователей
- 4.9 Обеспечение взаимодействия устройств Fibre Channel
- 7.4. Аналоговые перемножители сигналов
- 3.4. Арифметические действия