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: Завершить процесс.
Более старые версии оболочки Борна (
ЗАМЕЧАНИЕ. Для некоторых более новых сигналов, от 16 и выше, соответствующие номера сигнала и их имена на различных платформах не обязательно совпадают! Проверьте заголовочные файлы и справочные страницы на своей системе. Табл. 10.1 верна для GNU/Linux
Некоторые системы определяют также и другие сигналы, такие, как
За исключением
Сигналы
Чтобы увидеть список поддерживаемых сигналов, вы можете использовать '
Сигналы
10.3.2. Программная отправка сигналов:
Помимо внешнего генерирования, сигнал может быть отправлен непосредственно самой программой с использованием стандартной функции С
Эта функция посылает сигнал
Поскольку
10.4. Обработчики сигналов в действии
Множество осложнений и отклонений обнаруживается после установки на место обработчика, после его вызова и впоследствии возвращения.