[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Типы сигналов
Некоторые сигналы, их действия по умолчанию и события, которые их
вызывают, перечислены на следующей странице. Все сигналы перечислены в
signal(5) и определены как символьные константы в <signal.h>
Сигналы от SIGHUP до SIGTERM генерируются ядром, когда возникает
соответствующее событие. Сигналы SIGUSR1 и SIGUSR2 могут
генерироваться только пользователями.
Пример посылки сигнала от ядра к вашей программе - использование
клавиши INTR (DELETE по умолчанию), при нажатии которой генерируется
сигнал SIGINT. Ядро, обнаружив незаконное обращение к памяти в вашей
программы, генерирует сигнал "нарушение сегментации" (segmentation
violation) - SIGSEGV. Аналогично, деление на ноль с плавающей точкой
генерирует сигнал "особая ситуации при работе с плавающей точкой"
(floating point exeption) SIGFPE. Некоторые сигналы зависят от
аппаратуры, такие, как SIGEMT и SIGBUS. Поэтому причины и значение
этих сигналов могут меняться.
Не путайте аппаратные прерывания с сигналами. Однако, некоторые
прерывания обрабатываются ядром и иногда переводятся в сигналы,
которые посылаются вашей программе.
Справка: См. /usr/include/signal.h и signal(5)
ТИПЫ СИГНАЛОВ
реакция по
сигнал умолчанию событие
SIGHUP exit обрыв линии (см. termio(7))
SIGINT exit прерывание (см. termio(7))
SIGQUIT core завершение (см. termio(7))
SIGILL core неправильная инструкция
SIGTRAP core прерывание трассировки
SIGABORT core аборт
SIGEMT core команда EMT (программное прерывание)
SIGFPE core арифметическая особая ситуация
SIGKILL exit принудительное завершение ("убийство")
SIGBUS core ошибка шины
SIGSEGV core нарушение сегментации
SIGPIPE exit разрыв конвейера
SIGALRM exit будильник
SIGTERM exit программный сигнал прерывания от kill
SIGCLD ignore изменение состояния подпроцесса
SIGPWR ignore сбой питания
SIGSTOP stop остановка (сигналом)
SIGTSTP stop остановка (пользователем) (см. termio(7))
SIGCONT ignore продолжение
SIGTTIN stop ожидание ввода с терминала(см. termio(7))
SIGTTOU stop ожидание вывода на терминал (см.termio(7))
SIGVTALRM exit сигнал виртуального таймера
SIGPROF exit сигнал таймера профилирования
SIGXCPU core исчерпался лимит времени (см. getrlimit(2))
SIGXFSZ core выход за пределы длины файла (см. getrlimit(2))