Концепцията на сигналите


Next: Изпращането на сигнали чрез Up: Сигнали Предишен: Съдържание Сигнали

сигнализация механизъм се състои от следните части:

Има три известни сигнали варианти отговор:







  • наричаме свои собствени функции за обработка;
  • игнорирайки сигнала (не работи за SIGKILL);
  • използвате предварително зададена функция за обработка подразбиране.
За да отговори на различни сигнали, че е необходимо да се знае, концепцията за преработка. Процесът трябва да се организира така наречените сигнален процесор в случай на пристигане. За да направите това, използвайте функцията сигнал ():

нищожен (* сигнал (междинно signr, нищожен (* sighandler) (междинно съединение))) (междинно съединение); Този прототип е много трудно да се разбере. Необходимо е да се опрости, като се определи видът на функции за обработка на:







typedef невалидни signalfunction (междинно съединение); След това, прототип на функция става: signalfunction * сигнал (инт signr,

signalfunction * sighandler); signr задава броя на сигнала за който се задава на водача. Файлът с удар с глава Следните сигнали са определени (таблица. 1).

Таблица 1. Операционна система Linux сигнали.

Resize

Променлива sighandler определя функцията за обработка на сигнала. Файлът с удар с глава определени две константи SIG_DFL и SIG_IGN. SIG_DFL означава извършване на действието по подразбиране - в повечето случаи - в края на процеса. Например, за определяне на сигнал (SIGINT, SIG_DFL); да доведе до факта, че когато натиснете клавишната комбинация CTRL + C по време на реакцията се задейства по подразбиране на SIGINT и програмата ще приключи. От друга страна, може да се определи
сигнал (SIGINT, SIG_IGN);

Пример на водача на сигнала е по-долу: # включват

нищожен sigfunc (инт SIG)

ФОРМАТ ( "# 92; мяна пълна програма (Y / N).");

ФОРМАТ ( "Вие може да завърши програмата с помощта на