且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

与恢复操作安装Windows服务重新启动

更新时间: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();
}