2

Windows サービスの回復を次のように構成しました。

  • リスト項目
  • 最初の失敗: サービスを再起動する
  • 2 番目の失敗: サービスを再起動する
  • その後の失敗: 何もしない
  • 失敗回数をリセット: 1 日後
  • サービスの再起動: 1 分後

ここで、管理者がサービスを手動で再起動したときに、サービスが自動的に新たに回復されるように、3 回目の失敗後に失敗カウントをリセットしたいと考えています。

これまでのところ、私が見つけた唯一の解決策は、カウンターをリセットすることです。これは、クリーンではないサービスをアンインストール/再インストールすることです。それを行う方法はありますか?

4

1 に答える 1

2

サービスコントロールマネージャーは、システムが起動してから各サービスが失敗した回数をカウントします。サービスがdwResetPeriod秒間失敗しなかった場合、カウントは0にリセットされます。

SERVICE_FAILURE_ACTIONSのdwResetPeriodを0に設定してChangeServiceConfig2を呼び出すと、カウントがリセットされます。

dwResetPeriodの元の設定を照会し(QueryServiceConfig2を参照)、ゼロに設定してから元にリセットして状態を保持する必要があります。

于 2012-12-09T23:50:03.963 に答える