Тема:Сигналы и их обработка. Посылка сигналов от системы к процессу, от одного процесса к другому и процессу с клавиатуры.
Цель: Изучить особенности сигналов в системе UNIX.
Порядок выполнения работы:
1. Выучить основные понятия сигналов.
2. Написать и выполнить программу в соответствии с заданием.
3. Проанализировать результаты и сделать вывод.
Теоретические сведения:
Описание функций.
SIGNAL
signal - работа с сигналами ANSI C
СИНТАКСИС
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
ОПИСАНИЕ
Системный вызов signal() устанавливает новый обработчик сигнала с номером signum в соответствии с параметром sighandler, который может быть функцией пользователя, SIG_IGN или SIG_DFL. При получении процессом сигнала с номером signum происходит следующее: если устанавливаемое значение обработчика равно SIG_IGN, то сигнал игнорируется; если оно равно SIG_DFL, то выполняются стандартные действия, связанные с сигналом. Наконец, если обработчик установлен в функцию sighandler, то сначала устанавливает значение обработчика в SIG_DFL или выполняется зависимая от реализации блокировка сигнала, а затем вызывается функция sighandler с параметром signum.
Использование функции-обработчика сигнала называется "перехватом сигнала". Сигналы SIGKILL и SIGSTOP не могут быть "перехвачены" или игнорированы.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция signal() возвращает предыдущее значение обработчика сигнала или SIG_ERR при ошибке.