CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
signal - установить реакцию на сигнал
Описание
Функция signal позволяет программе определить, как следует обрабатывать сигналы от операционной системы. Аргумент sig должен быть одной из следующих констант : SIGABRT Ненормальное завершение SIGFPE Ошибка арифметики с плаваюшей точкой SIGILL Неверная инструкция (команда ЦП) SIGINT Прерывание CTRL+C SIGSEGV Нарушение границ сегмента SIGTERM Завершение по CTRL+break Нижеописанные макросы определяют значения для func: SIG_DFL Обработка сигнала по умолчанию SIG_IGN Игнорирование сигнала Функция signal устанавливает ответ на сигнал. Когда возникает сигнал, вначале режим обработки этого сигна- ла устанавливается в SIG_DFL, а затем вызывается функ- ция обработки сигнала func и ей передается пара- метр sig.
Использование
#include <signal.h> void (*signal(int sig, void (*func)(int)))(int);
Возвращаемое значение
signal возвращает предыдущее значение func. Возвращае- мое значение SIG_ERR указывает на ошибку и errno прис- ваивается положительное значение.
Пример
#include <stdio.h> #include <signal.h> /* ниже наша функция обработки сигнала */ void ctrl_break(int val) { signal (SIGINT, SIG_IGN); printf("Для завершен : "); getch(); exit(0); } main() { if (signal(SIGINT,(&ctrl_break)) == SIG_ERR) { perror("Не смог установить SIGINT!"); abort(); } raise(SIGINT); }
Рекомендация
Смотрите также raise.