П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 6394 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 8493 раз(а).

Учебник HTML.
Просмотров 5106 раз(а).

Руководство по PHP5.
Просмотров 2278 раз(а).

Хостинг через призму DNS.
Просмотров 7419 раз(а).

Подборка текстов стандартных документов.
Просмотров 99 раз(а).

Учебник PHP - Самоучитель
Просмотров 5398 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 11593 раз(а).

Внешние атаки...
Просмотров 7839 раз(а).

Учебник PHP.
Просмотров 4505 раз(а).

SSI в примерах.
Просмотров 1366 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





5.9. Обработка прерываний ("trap")

Бывает необходимо защитить выполнение программы от прерывания.

Наиболее часто приходится встречаться со следующими прерываниями, соответствующими сигналам:
0 выход из интерпретатора,
1 отбой (отключение удаленного абонента),
2 прерывание от <Del>,
9 уничтожение (не перехватывается),
15 окончание выполнения.

Для защиты от прерываний существует команда "trap", имеющая формат:

    trap 'список команд' сигналы

Если в системе возникнут прерывания, чьи сигналы перечислены через пробел в "сигналы", то будет выполнен "список команд", после чего (если в списке команд не была выполнена команда "exit") управление вернется в точку прерывания и продолжится выполнение командного файла.

Например, если перед прекращением по прерываниям выполнения какого то командного файла необходимо удалить файлы в "/tmp", то это может быть выполнено командой "trap":

   tarp 'rm /tmp/* ; exit 1' 1 2 15

которая предшествует прочим командам файла. Здесь, после удаления файлов будет осуществлен выход "exit" из командного файла.

Команда "trap" позволяет и просто игнорировать прерывания, если "список команд" пустой. Так например, если команда "cmd" выполняется очень долго, а пользователь решил отключиться от системы, то для продолжения выполнения этой команды можно написать, запустив команду в фоновом режиме:

    ( trap '' 1; cmd )&

[Назад] [Содержание] [Вперед]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: