如果 Windows 服务崩溃,如何自动重新启动?

如果 Windows 服务崩溃,如何自动重新启动?

我有一个 Windows 服务每隔几天就会意外退出。有没有一种简单的方法来监控它,以确保它在崩溃时能够快速重新启动?

答案1

在服务应用程序下,选择相关服务的属性。

查看恢复选项卡 - 有各种选项 - 我将第一次和第二次失败设置为重新启动服务,第三次设置为运行批处理程序布拉特发送一封包含第三次失败通知的电子邮件。

您还应该将“重置失败计数”设置为 1,以每天重置失败计数。

编辑:

看起来您可以通过命令行执行此操作:

SC failure w3svc reset= 432000  actions= restart/30000/restart/60000/run/60000
SC failure w3svc command= "MyBatchFile.cmd"

您的 MyBatchFile.CMD 文件可能如下所示:

blat - -body "Service W3svc Failed" -subject "SERVICE ERROR" -to [email protected] -server SMTP.Example.com -f [email protected]

答案2

打开 Services.msc,双击该服务以打开服务的属性,有一个恢复选项卡,这些设置应该允许您在失败时重新启动该服务。

答案3

尝试将恢复时间设置为零:

在此处输入图片描述

命令行等效:

SC failure YOUR_SERVICE_NAME reset= 0 actions= restart/0/restart/0/restart/0

无论如何,有时自动恢复无法正常工作,建议使用第三方软件。当服务以退出代码 0 正常退出时,Windows 似乎不会尝试恢复它。

答案4

我在用服务守护者在 HostForLife.eu 的 Windows 2008 服务器上,它运行良好。之前,我对 ServiceHawk 进行了评论,但我更喜欢使用 ServiceKeeper,因为它的管理和界面更简单。

相关内容