现在我在Windows Server 2003上有一些服务应用程序,用于将数据从设备输入数据库。
有时服务因数据错误或其他任何问题(数据库连接问题,互联网连接断开等)而失败,我必须重新启动服务,现在我为此问题提供的解决方案是使用NET START的简单批处理命令/ STOP命令每隔1小时安排一次。
然后我看一下服务属性的恢复选项卡,有一个重启服务的选项,我想知道的是如何测试它?比如,Windows如何知道服务失败了?最重要的是如何知道服务在发生故障时成功重启(基于恢复设置)?
PS:我无法访问代码
谢谢
答案 0 :(得分:2)
当服务从未处理的异常崩溃时,服务控制台的自动重启启动。 (你的代码的某些部分抛出一个异常,但没有任何东西捕获它,并且它会一直冒出主要功能。)
如果您可以控制代码,最好在可能导致问题并更优雅地处理错误的区域周围放置一些try / catch块。您还可以在应用程序的主入口点周围放置一个try / catch,以捕获并尝试处理代码中任何未处理的异常。
如果无法控制代码,可以通过强制执行其中一个错误来测试自动服务恢复。如果在出现连接问题时为崩溃服务,可以通过拔掉计算机上的网络电缆来强制执行此操作。
答案 1 :(得分:0)
测试恢复选项的最简单方法是从任务管理器中删除服务的进程。 Windows将检测它并运行首次故障恢复选项。随后的杀戮将测试第二次失败和后续失败选项。事件日志将记录退出和所采取的操作。
根据您的环境和服务,这可能是也可能不适合您,因为您 终止服务。
答案 2 :(得分:0)
您可以将其还原到较早的时间点,Restoring Surface不会更改您的个人文件,但它可能会删除最近安装的应用和驱动程序。
1.从屏幕右边缘进入,然后点按“搜索”。 (如果您正在使用鼠标,请指向屏幕的右上角,向下移动鼠标指针,然后单击“搜索”。)
2.在搜索框中输入“控制面板”,然后点击或单击“控制面板”。
3.在“控制面板”搜索框中输入“恢复”,然后点击或单击“恢复”。
4.点击或单击“打开系统还原”,然后按照说明进行操作。