Відмінності між версіями «Робота з сигналами»
Матеріал з Wiki TNEU
(Створена сторінка: Можливості bash дозволяють перехоплювати й обробляти сигнали за допомогою сценарію. Під с...) |
Donserg (Обговорення • внесок) м (Захист на Робота з сигналами встановлено ([edit=sysop] (безстроково) [move=sysop] (безстроково))) |
||
(Одна проміжна версія одного користувача не показана) | |||
Рядок 1: | Рядок 1: | ||
Можливості bash дозволяють перехоплювати й обробляти сигнали за допомогою сценарію. Під сигналами розуміється засіб, що дозволяє повідомляти процесам про різні події в операційній системі. | Можливості bash дозволяють перехоплювати й обробляти сигнали за допомогою сценарію. Під сигналами розуміється засіб, що дозволяє повідомляти процесам про різні події в операційній системі. | ||
− | |||
− | |||
− | + | Список всіх сигналів можна отримати, ввівши команду: | |
− | + | $ Kill-l | |
− | Ключ-l виводить список імен і номерів сигналів, а ключ-p виводить список команд, пов'язаних з кожним сигналом. Сигнали слід вказувати за іменами або за номерами. | + | Перехоплювати сигнали дозволяє команда trap. Синтаксис команди: |
− | + | trap [-lp] [команди сигнал сигнал ...] | |
− | + | ||
+ | Ключ '''-l''' виводить список імен і номерів сигналів, а ключ '''-p''' виводить список команд, пов'язаних з кожним сигналом. Сигнали слід вказувати за іменами або за номерами. | ||
+ | Система завжди якимось чином реагує на отримання сигналу, тобто виконує команду. Якщо ж замість команди вказати порожній рядок, то сигнал просто буде проігнорований. | ||
+ | |||
+ | Список найважливіших сигналів: | ||
HUP - hangup, відбій; | HUP - hangup, відбій; | ||
INT - interrupt, переривання; | INT - interrupt, переривання; | ||
Рядок 17: | Рядок 19: | ||
TERM - termination, завершити процес; | TERM - termination, завершити процес; | ||
CHILD - завершився дочірній процес. | CHILD - завершився дочірній процес. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Приклад: | |
− | + | trap''INT # ігнорувати сигнал INT |
Поточна версія на 23:24, 20 вересня 2012
Можливості bash дозволяють перехоплювати й обробляти сигнали за допомогою сценарію. Під сигналами розуміється засіб, що дозволяє повідомляти процесам про різні події в операційній системі.
Список всіх сигналів можна отримати, ввівши команду:
$ Kill-l
Перехоплювати сигнали дозволяє команда trap. Синтаксис команди:
trap [-lp] [команди сигнал сигнал ...]
Ключ -l виводить список імен і номерів сигналів, а ключ -p виводить список команд, пов'язаних з кожним сигналом. Сигнали слід вказувати за іменами або за номерами. Система завжди якимось чином реагує на отримання сигналу, тобто виконує команду. Якщо ж замість команди вказати порожній рядок, то сигнал просто буде проігнорований.
Список найважливіших сигналів:
HUP - hangup, відбій; INT - interrupt, переривання; QUIT - вихід; ILL - illegal instruction, програмна помилка; FPE - floating point exception, обчислювальна помилка; KILL - вбити процес; TERM - termination, завершити процес; CHILD - завершився дочірній процес.
Приклад:
trapINT # ігнорувати сигнал INT