0
WindowsでスケジュールされたタスクとしてC#コンソールプログラムを実行しています。このプログラム自体は、プログラム自体が終了したときに正常にシャットダウンする必要のある「タスク」をたくさん実行します。スケジュールされたタスクが終了したときにコードを実行する方法
スケジュールされたタスクが終了したときにクリーンアップコードを実行する方法がありますか(2〜2秒かかる場合がありますか)。たとえば、PowerShellスクリプトからStop-ScheduledTask
を呼び出すことで終了します。
AppDomain
のイベントを捕捉するだけでなく、ProcessExit
イベントを捕まえようとしましたが、スケジュールされたタスクが終了したときにこれらのイベントが呼び出されることはありません。
コメントの中でrrirowerで概要を説明したように、別のオプションとして、プロセスに信号を送信して終了するように指示することもできますが、これはWindowsではうまくサポートされていないようです。
スクリプトがクリーンアップコードを実行できない理由は何ですか? – rrirower
プロセスにシグナルを送る方法があれば、それは私が調査しているもう一つのオプションです(Windows上ではどうしたらいいのか分かりませんが、 'taskkill'は片道と思われます)。 –
@Damithここでトリガーがどのように役立つかわからない... –