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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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 )&

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



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