Вход/Регистрация
Linux программирование в примерах
вернуться

Роббинс Арнольд

Шрифт:

Таблица 10.1. Сигналы GNU/Linux

Имя Значение По умолчанию Источник Смысл
SIGHUP
1 Term POSIX Отсоединение
SIGINT
2 Term ISO C Прерывание
SIGQUIT
3 Core POSIX Выход
SIGILL
4 Core ISO C Недействительная инструкция
SIGTRAP
5 Core POSIX Трассировочная ловушка
SIGABRT
6 Core ISO C Прекращение
SIGIOT
6 Core BSD Ловушка IOT
SIGBUS
7 Core BSD Ошибка шины
SIGFPE
8 Core ISO C Исключение с плавающей точкой
SIGKILL
9 Term POSIX Завершение, неблокируемый
SIGUSR1
10 Term POSIX Сигнал 1 пользователя
SIGSEGV
11 Core ISO C Нарушение сегмента
SIGUSR2
12 Term POSIX Сигнал 2 пользователя
SIGPIPE
13 Term POSIX Нарушенный канал
SIGALRM
14 Term POSIX Аварийные часы
SIGTERM
15 Term ISO C Завершение
SIGSTKFLT
16 Term Linux Ошибка стека в процессоре (не используется)
SIGCHLD
17 Ignr POSIX Изменение статуса порожденного процесса
SIGCLD
17 Ignr System V То же, что и SIGCHLD (для совместимости)
SIGCONT
18 POSIX Продолжить при остановке
SIGSTOP
19 Stop POSIX Стоп, неблокируемый
SIGTSTP
20 Stop POSIX Стоп от клавиатуры
SIGTTIN
21 Slop POSIX Фоновое чтение от tty
SIGTTOU
22 Stop POSIX Фоновая запись в tty
SIGURG
23 Ignr BSD Срочный сигнал сокета
SIGXCPU
24 Core BSD Превышение предела процессора
SIGXFSZ
25 Core BSD Превышение предела размера файла
SIGVTALRM
26 Term BSD Виртуальные аварийные часы
SIGPROF
27 Term BSD Профилирующие аварийные часы
SIGWINCH
28 Ignr BSD Изменение размера окна
SIGIO
29 Term BSD Возможен ввод/вывод
SIGPOLL
29 Term System V Опрашиваемое событие, то же, что и SIGIO (для совместимости)
SIGPWR
30 Term System V Повторный запуск из-за сбоя питания
SIGSYS
31 Core POSIX Неверный системный вызов

Обозначения: Core: Завершить процесс и создать снимок образа процесса Ignr: Игнорировать сигнал Stop: Остановить процесс. Term: Завершить процесс.

Более старые версии оболочки Борна (

/bin/sh
) непосредственно связывали с номерами сигналов ловушки (traps), которые являются обработчиками сигналов на уровне оболочки. Таким образом, всесторонне образованному Unix-программисту нужно было знать не только имена сигналов для использования в коде С, но также и соответствующие номера сигналов! POSIX требует, чтобы команда
trap
понимала символические имена сигналов (без префикса '
SIG
'), поэтому этого больше не требуется. Однако (главным образом для лучшего разбирательства), мы предоставили эти номера в интересах полноты из-за того, что однажды вам может понадобиться иметь дело со сценарием оболочки, созданным до POSIX, или с древним кодом на С, которые непосредственно используют номера сигналов.

ЗАМЕЧАНИЕ. Для некоторых более новых сигналов, от 16 и выше, соответствующие номера сигнала и их имена на различных платформах не обязательно совпадают! Проверьте заголовочные файлы и справочные страницы на своей системе. Табл. 10.1 верна для GNU/Linux

Некоторые системы определяют также и другие сигналы, такие, как

SIGEMT
,
SIGLOST
и
SIGINFO
. Справочная страница GNU/Linux signal(7) предоставляет полный список; если ваша программа должна обработать сигналы, не поддерживаемые GNU/Linux, это можно сделать с помощью
#ifdef
:

#ifdef SIGLOST

/* ...обработать здесь SIGLOST... */

#endif

За исключением

SIGSTKFLT
, сигналы, перечисленные в табл. 10.1, широкодоступны и не нуждаются в заключении в
#ifdef
.

Сигналы

SIGKILL
и
SIGSTOP
нельзя перехватить или игнорировать (или блокировать, как описано далее в главе). Они всегда выполняют действие по умолчанию, указанное в табл. 10.1.

Чтобы увидеть список поддерживаемых сигналов, вы можете использовать '

kill -l
'. На одной из наших систем GNU/Linux:

$ kill -l

 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2

13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD

18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN

22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

  • Читать дальше
  • 1
  • ...
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: