ВУЗ:
Составители:
20
возможность блокировки сигналов. В этом случае сигнал находится в состоянии
ожидания до тех пор, пока он не будет разблокирован.
Для некоторых сигналов выполняемые действия заранее предопределены.
Однако, при обработке большинства сигналов процесс имеет альтернативу:
игнорировать сигнал, определить функцию-обработчик или вызывать обработчик по
умолчанию.
Стандартные сигналы
Все стандартные сигналы определены в заголовочном файле <signal.h>.
Каждый сигнал задается с помощью макроса, задающего целочисленный
положительный идентификатор.
Сигналы программных ошибок
Эти сигналы генерируются когда операционной системой или компилятором
обнаруживается серьезная программная ошибка и продолжение работы невозможно.
Действие по умолчанию – завершение работы процесса. Сигналы программных ошибок
могут перехватываться для очистки памяти или освобождения ресурсов перед
прекращением работы.
SIGFPE Фатальная арифметическая ошибка. Сигнал вызывается при всех
арифметических ошибках, например делении на ноль или
переполнении.
SIGILL Неверная инструкция. Причины генерации сигнала: попытка
выполнения неправильной команды процессора или
привилегированной инструкции (например, в случае разрушения
выполняемого файла или попытки выполнения данных), переполнение
стека, неправильное определение перехватчика сигналов.
SIGSEGV Генерируется когда программа пытается обратиться к памяти вне
выделенного блока памяти или записать в область памяти, из которой
возможно только чтение.
SIGBUS Генерируется при попытке манипуляции с заведомо неверным
адресом памяти.
SIGABRT Указывает на ошибку, обнаруженную самой программой и
обработанную с помощью вызова функции abort.
SIGTRAP Вызывается машинной инструкцией точки останова и, возможно,
другими отладочными командами. Используется отладчиками.
SIGSYS Неверный системный вызов. Генерируется, когда выполняется
инструкция операционной системы, однако задан неверный номер
инструкции.
Сигналы завершения
Сообщают процессу о необходимости завершиться. Процесс может
обрабатывать этот сигнал если перед завершением выполнения нужно, например,
очистить используемый участок памяти или удалить временные файлы. Действие,
выполняемое по умолчанию – завершение процесса.
SIGTERM Сигнал, используемый для того, чтобы вызвать прекращение
выполнения процесса. В отличие от сигнала SIGKILL может быть
заблокирован, обработан процессом или проигнорирован.
SIGINT Прерывание процесса. Обычно вызывается при нажатии
пользователем комбинации клавиш CTRL+C.
SIGQUIT Прерывание процесса. В отличие от SIGINT вызывается комбинацией
возможность блокировки сигналов. В этом случае сигнал находится в состоянии
ожидания до тех пор, пока он не будет разблокирован.
Для некоторых сигналов выполняемые действия заранее предопределены.
Однако, при обработке большинства сигналов процесс имеет альтернативу:
игнорировать сигнал, определить функцию-обработчик или вызывать обработчик по
умолчанию.
Стандартные сигналы
Все стандартные сигналы определены в заголовочном файле .
Каждый сигнал задается с помощью макроса, задающего целочисленный
положительный идентификатор.
Сигналы программных ошибок
Эти сигналы генерируются когда операционной системой или компилятором
обнаруживается серьезная программная ошибка и продолжение работы невозможно.
Действие по умолчанию – завершение работы процесса. Сигналы программных ошибок
могут перехватываться для очистки памяти или освобождения ресурсов перед
прекращением работы.
SIGFPE Фатальная арифметическая ошибка. Сигнал вызывается при всех
арифметических ошибках, например делении на ноль или
переполнении.
SIGILL Неверная инструкция. Причины генерации сигнала: попытка
выполнения неправильной команды процессора или
привилегированной инструкции (например, в случае разрушения
выполняемого файла или попытки выполнения данных), переполнение
стека, неправильное определение перехватчика сигналов.
SIGSEGV Генерируется когда программа пытается обратиться к памяти вне
выделенного блока памяти или записать в область памяти, из которой
возможно только чтение.
SIGBUS Генерируется при попытке манипуляции с заведомо неверным
адресом памяти.
SIGABRT Указывает на ошибку, обнаруженную самой программой и
обработанную с помощью вызова функции abort.
SIGTRAP Вызывается машинной инструкцией точки останова и, возможно,
другими отладочными командами. Используется отладчиками.
SIGSYS Неверный системный вызов. Генерируется, когда выполняется
инструкция операционной системы, однако задан неверный номер
инструкции.
Сигналы завершения
Сообщают процессу о необходимости завершиться. Процесс может
обрабатывать этот сигнал если перед завершением выполнения нужно, например,
очистить используемый участок памяти или удалить временные файлы. Действие,
выполняемое по умолчанию – завершение процесса.
SIGTERM Сигнал, используемый для того, чтобы вызвать прекращение
выполнения процесса. В отличие от сигнала SIGKILL может быть
заблокирован, обработан процессом или проигнорирован.
SIGINT Прерывание процесса. Обычно вызывается при нажатии
пользователем комбинации клавиш CTRL+C.
SIGQUIT Прерывание процесса. В отличие от SIGINT вызывается комбинацией
20
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
