sc를 사용하여 복구 옵션을 설정할 수 있습니다 . 다음은 실패 후 서비스를 다시 시작하도록 설정합니다.
sc failure [servicename] reset= 0 actions= restart/60000
이것은 C #에서 쉽게 호출 할 수 있습니다.
static void SetRecoveryOptions(string serviceName)
{
int exitCode;
using (var process = new Process())
{
var startInfo = process.StartInfo;
startInfo.FileName = "sc";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = string.Format("failure \"{0}\" reset= 0 actions= restart/60000", serviceName);
process.Start();
process.WaitForExit();
exitCode = process.ExitCode;
}
if (exitCode != 0)
throw new InvalidOperationException();
}