parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

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