更新时间:2022-05-30 22:23:29
您可以通过设置恢复选项 SC 。下面我们来设置该服务在失败后重新启动:
You can set the recovery options using sc. The following will set the service to restart after a failure:
sc failure [servicename] reset= 0 actions= restart/60000
这可以很容易地从C#中调用:
This can easily be called from C#:
static void SetRecoveryOptions(string serviceName)
{
int exitCode;
using (var process = new Process())
{
var startInfo = process.StartInfo;
startInfo.FileName = "sc";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
// tell Windows that the service should restart if it fails
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();
}