C# で記述されたサービスの場合。
自動再起動するように設定しているので、クラッシュした場合は自動的に再起動します。
これで問題ありませんが、サービスを強制的に停止する方法も必要です (サービスがデッドロックする可能性があります)。これは、データベースのバックアップを取る前に、週に 1 回行われます。
「ネットストップ」を使用すると、サービスがシャットダウンされない場合があります。
taskkill を実行すると、サービスが強制終了されますが、1 分後に再起動されます。
両方のユースケースを機能させる方法についてのアイデアはありますか?
サービスがクラッシュした場合は自動再起動し、(何があっても) サービスを停止し、データベースのバックアップを取り、その後サービスを再起動する無人プロセスを実行できるようにしたいと考えています。