回答:
エラーのためにサービスが停止している場合、つまりWindowsによってログに記録されている場合は、「エラーのある停止のアクションを有効にする」にチェックマークを付ける必要があります。
これがチェックされていない場合、正当な理由または不明な理由で停止したサービスのみが再起動されます。
「エラーのあるストップのアクションを有効にする」チェックボックスは、Windows VistaおよびWindows Server 2008で導入され、1つの恥ずかしいドキュメントの行を提供しました。
サービスがエラーで停止したリカバリアクションをトリガーするには、[ エラーで停止したアクションを有効にする]を選択します。
SC.exeのプログラムは、新しいコマンドを提供するように更新されました:failureflag
。ドキュメントは悪い例を示しており、実際のWindows Server 2003には適用されませんが、コマンドことを教えてくれる:
エラーの結果としてサービスが停止したときに回復アクションをトリガーするかどうかを指定します。
したがって、チェックボックスとsc failureflag
は、同じフラグを設定するために使用されます。コマンドプロンプトで入力して
みましょう。sc failureflag
ようやくかなり適切な説明が表示されます。
サービスの失敗アクションフラグ設定を変更します。この設定が0(デフォルト)の場合、サービスプロセスがSERVICE_STOPPED以外の状態のサービスで終了した場合にのみ、サービスコントロールマネージャー(SCM)はサービスで構成された障害アクションを有効にします。この設定が1の場合、SCMは、サービスが上記のサービスプロセスの終了に加えて、0以外のWin32終了コードでSERVICE_STOPPED状態に入ると、サービスで構成された失敗アクションを有効にします。サービスに失敗アクションが構成されていない場合、この設定は無視されます。
同様の説明がここにあります。
したがって、元の質問に対する正しい答えは、サービスがSERVICE_STOPPED状態で終了しない場合、構成された回復アクションは常に有効になるということです。終了コードが0(エラー)でない場合に、サービスがSERVICE_STOPPED状態になったときにもリカバリアクションを有効にする必要がある場合は、[エラーのある停止のアクションを有効にする]をオンにする必要があります。