45948 (665253), страница 4
Текст из файла (страница 4)
создается нового процесса. Она выполняется в среде соответствующего процесса.
Аргументы функции становятся ее позиционными параметрами; имя функции - ее
нулевой параметр. Прервать выполнение функции можно оператором "return [n]", где
(необязательное) "n" - код возврата.
4.9. Обработка прерываний ("trap")
Бывает необходимо защитить выполнение программы от прерывания.
Наиболее часто приходится встречаться со следующими прерываниями,
соответствующими сигналам:
0выход из интерпретатора,
1отбой (отключение удаленного абонента),
2прерывание от ,
9уничтожение (не перехватывается),
15окончание выполнения.
Для защиты от прерываний существует команда "trap", имеющая формат:
trap 'список команд' сигналы
Если в системе возникнут прерывания, чьи сигналы перечислены через пробел в
"сигналы", то будет выполнен "список команд", после чего (если в списке команд
не была выполнена команда "exit") управление вернется в точку прерывания и
продолжится выполнение командного файла.
Например, если перед прекращением по прерываниям выполнения какого то командного
файла необходимо удалить файлы в "/tmp", то это может быть выполнено командой
"trap":
tarp 'rm /tmp/* ; exit 1' 1 2 15
которая предшествует прочим командам файла. Здесь, после удаления файлов будет
осуществлен выход "exit" из командного файла.