Новости | 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 — прибрать за собой, откатить транзакцию, записать что-то в лог и умереть.