Основные сигналы

Информация об основных сигналах представлена в табл. 18.

Таблица 18. Основные сигналы

Сигнал Стандартная обработка Значение
SIGTERM 15 Завершение процесса Стандартный сигнал, посылаемый для остановки процесса.
SIGHUP 1 Завершение процесса Отключился терминал (или закрыто терминальное окно). Сигнал посылается всем не фоновым процессам, связанным с соответствующей терминальной линией.
SIGKILL 9 Завершение процесса Не перехватываемый сигнал, позволяющий завершить любой процесс.
SIGILL 4 Завершение процесса и сброс образа памяти На центральный процессор была послана запрещенная инструкция. Это могло быть следствием недопустимого перехода в машинном коде программы, например, попытки выполнить строку данных.
SIGTRAP 5 Завершение процесса и сброс образа памяти Была установлена ловушка точки прерывания процесса. Этим управляет системный вызов ptrace, который полезен для отладки.
SIGFPE 8 Завершение процесса и сброс образа памяти Была попытка выполнить запрещенную арифметическую операцию, например, взятие логарифма отрицательного числа или деление на 0.
SIGBUS 10 Завершение процесса и сброс образа памяти Ошибка на шине ввода-вывода. Обычно это является результатом попытки выполнить чтение или запись вне границ памяти программы.
SIGSEGV 11 Завершение процесса и сброс образа памяти Это нарушение сегментации - проклятие разработчиков программ! Оно означает, что вы попытались получить доступ к сегменту памяти запрещенным образом. Может быть, это было присваивание значения части сегмента кода или чтение из нулевого адреса.
SIGPIPE 13 Завершение процесса Программа попыталась выполнить чтение или запись в программный канал, другой конец которого уже завершил работу. Этот сигнал помогает завершить работу конвейера, когда одна из его команд дала сбой.
SIGALRM 14 Завершение процесса Программист может установить будильник, чтобы позволить вам в определенный момент времени выполнить какое-нибудь действие.
SIGCHLD 18 Игнорируется Сначала это был сигнал завершения работы дочернего процесса, но сейчас он означает изменение состояния дочернего процесса.
SIGTSTP 24 Остановка процесса Это запрос от терминала на остановку процесса. Посылка этого сигнала процессу происходит при нажатии комбинации клавиш Ctrl-Z.
SIGCONT 25 Игнорируется Этот сигнал указывает процессу на возобновление его работы. Процессу посылается либо команда fg, либо bg, а командный интерпретатор выполняет внутренний системный вызов wait для привилегированного процесса, либо не выполняет его для фонового процесса.

Детальная информация о сигналах представлена на страницах справочного руководства signal.

Процесс с помощью системного вызова signal() может задать нестандартный обработчик любого сигнала, кроме SIGKILL (9).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: