Мы запускаем консольную программу C# в качестве запланированной задачи в Windows. Эта программа сама запускает множество «задач», которые должны быть изящно завершены, когда сама программа закончится.Как запустить код при завершении запланированной задачи
Есть ли способ запустить код очистки (который может занять секунду или два), когда запланированная задача завершена? Например, когда он заканчивается вызовом Stop-ScheduledTask
из сценария PowerShell.
Я попытался поймать события CTRL-C, а также поймать событие ProcessExit
AppDomain
, но ни один из них не вызывается, когда запланированная задача завершена.
Как указано в комментариях, другой вопрос будет заключаться в том, чтобы отправить сигнал процессу, прежде чем просить его прекратить работу, но это не похоже на поддержку Windows.
Любая причина, по которой сценарий не может запустить код очистки? – rrirower
Это могло бы быть, если бы был способ отправить сигнал процессу, что является еще одним вариантом, который я изучаю (не знаю, как сделать это чисто в Windows, хотя 'taskkill' кажется одним способом). –
@Damith Не знаете, как сюда могут помочь триггеры ... –