Основы операционной системы UNIX



         

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


Информация об основных сигналах представлена в табл. 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).




Содержание  Назад  Вперед