Scroll to navigation

SIGNAL(7) Руководство программиста Linux SIGNAL(7)

ИМЯ

signal - список доступных сигналов

ОПИСАНИЕ

Linux поддерживает нижеописанные сигналы. Некоторые номера сигналов зависят от используемой архитектуры. Сначала идут сигналы, описанные в стандарте POSIX.1.

Сигнал Значение Действие Описание
SIGHUP  1 A Обнаружен обрыв связи с управляющим терминалом
либо завершение управляющего процесса
SIGINT  2 A Прерывание с клавиатуры
SIGQUIT  3 C Выход с клавиатуры
SIGILL  4 C Несуществующая инструкция
SIGABRT  6 C Сигнал прерывания, посланный функцией abort(3)
SIGFPE  8 C Ошибка операций с плавающей запятой
SIGKILL  9 AEF Kill-сигнал
SIGSEGV 11 C Обращение к запретной области памяти
SIGPIPE 13 A Оборванный канал: запись в канал, из которого не читают
SIGALRM 14 A Сигнал таймера от функции alarm(2)
SIGTERM 15 A Сигнал завершения
SIGUSR1 30,10,16 A Первый сигнал, определяемый пользователем
SIGUSR2 31,12,17 A Второй сигнал, определяемый пользователем
SIGCHLD 20,17,18 B Потомок остановлен или прекратил выполнение
SIGCONT 19,18,25 Продолжить выполнение, если остановлен
SIGSTOP 17,19,23 DEF Приостановить выполнение процесса
SIGTSTP 18,20,24 D Останов введен с терминала
SIGTTIN 21,21,26 D ввод с терминала у фонового процесса
SIGTTOU 22,22,27 D вывод на терминал у фонового процесса

Следующие сигналы не входят в стандарт POSIX.1, но описаны в SUSv2.

Сигнал Значение Действие Описание
SIGBUS 10,7,10 C Ошибка шины (ошибка доступа к памяти)
SIGPOLL A Ожидаемое событие (Sys V). Синоним SIGIO
SIGPROF 27,27,29 A Закончилось время профилирующего таймера
SIGSYS 12,-,12 C Неправильный аргумент процедуры (SVID)
SIGTRAP 5 C Трассировка/ловушка
SIGURG 16,23,21 B Неотложное событие в сокете (4.2 BSD)
SIGVTALRM 26,26,28 A Виртуальный будильник (4.2 BSD)
SIGXCPU 24,24,30 C Лимит процессорного времени исчерпан (4.2 BSD)
SIGXFSZ 25,25,31 C Лимит на размер файла исчерпан (4.2 BSD)

(Для случаев SIGSYS, SIGXCPU, SIGXFSZ, а для некоторых архитектур -- и SIGBUS, Linux (до настоящего времени -- 2.3.40) по умолчанию производит действие A (завершение выполнения), тогда как SUSv2 предписывает делать C (завершить выполнение с записью дампа памяти).)

Дальше идут различные прочие сигналы.

Сигнал Значение Действие Описание
SIGIOT 6 C IOT-ловушка. Синоним для SIGABRT
SIGEMT 7,-,7
SIGSTKFLT -,16,- A Переполнение стека сопроцессора
SIGIO 23,29,22 A I/O теперь возможно (4.2 BSD)
SIGCLD -,-,18 Синоним для SIGCHLD
SIGPWR 29,30,19 A Авария питающего напряжения (System V)
SIGINFO 29,-,- Синоним для SIGPWR
SIGLOST -,-,- A Потеря файла блокировки
SIGWINCH 28,28,20 B Изменение размеров окна (4.3 BSD, Sun)
SIGUNUSED -,31,- A Неиспользуемый сигнал (в будущем будет SIGSYS)

(Здесь - является признаком того, что сигнал отсутствует; там, где приведено три значения, первое -- для архитектур alpha и sparc, второе для архитектур i386, ppc и sh, последнее для mips. 29-й сигнал -- это SIGINFO / SIGPWR для alpha, но SIGLOST для sparc.)

Буквы в колонке "Действие" имеют следующее значение:

Действие по умолчанию -- прекращение выполнения процесса.
Действие по умолчанию -- игнорировать сигнал.
Действие по умолчанию -- прекращение выполнения процесса и запись дампа памяти.
Действие по умолчанию -- приостановка выполнения процесса.
Сигнал не может быть перехвачен.
Сигнал не может быть проигнорирован.

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1

ОШИБКИ

SIGIO и SIGLOST имеют одинаковое значение. Последний закомментирован в исходниках ядра, но некоторые программы продолжают думать, что 29-й сигнал -- это SIGLOST.

СМОТРИ ТАКЖЕ

kill(1), kill(2), setitimer(2)

ПЕРЕВОД

Перевел с английского Алексей Миллер <asm@asm.kiev.ua> 2000

14 апреля 1996 Linux 1.3.88