| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 18.01.2016 21:52
@main[]
^try{
^run[]
}{
^if($exception.type eq 'parser.terminate' && $exception.source eq 'sigterm'){
$exception.handled(true)
^break[]
}
}{
^clear[]
}
@run[]
^while(true){
^try{
^do[]
}{
^if($exception.type eq 'parser.terminate' && $exception.source eq 'sigint'){
$exception.handled(true)
^break[]
}
}
}
@do[]
^eval(2 * 2)То есть по sigint можно прервать цикл, загрузку файла и так далее — текущее действие скрипта, а по sigterm — прибрать за собой, откатить транзакцию, записать что-то в лог и умереть.