Windows services 服务看门狗设计

Windows services 服务看门狗设计,windows-services,watchdog,Windows Services,Watchdog,我正在开发一个传统产品,它有七个Windows服务和一个用户界面。服务中存在一些bug,每10-15天就会导致一次崩溃。我需要编写一个应用程序来监视服务的状态。如果服务崩溃,我需要向管理员发送电子邮件以启动服务 我不能使用自动恢复过程,因为在一些崩溃期间,出现了微软错误报告对话框或其他对话框,服务被认为运行直到消息被确认。 因此,我计划使用这个单独的应用程序/监视服务来监视崩溃,直到原始服务中的bug完全修复为止 请分享您对看门狗服务设计的看法 谢谢。从您的问题中我了解到windows无法判断服

我正在开发一个传统产品,它有七个Windows服务和一个用户界面。服务中存在一些bug,每10-15天就会导致一次崩溃。我需要编写一个应用程序来监视服务的状态。如果服务崩溃,我需要向管理员发送电子邮件以启动服务

我不能使用自动恢复过程,因为在一些崩溃期间,出现了微软错误报告对话框或其他对话框,服务被认为运行直到消息被确认。 因此,我计划使用这个单独的应用程序/监视服务来监视崩溃,直到原始服务中的bug完全修复为止

请分享您对看门狗服务设计的看法


谢谢。

从您的问题中我了解到windows无法判断服务是否结束,因为它显示拨号。如果windows无法检测到该服务已关闭,另一个应用程序将如何运行。

你必须找到足够的证据证明这个过程在做应该做的事情。检查日志文件是否正在增长或查看事件是否正在写入是最简单的事情

有趣的是,您需要手动编辑注册表来禁用Drwatson,并且有一条命令行来重新启用它;)在此处,请检查此Microsoft知识库:

如果您无法修复这些服务,但可以将它们作为Internet上的HTTP资源“公开”,则可以使用联机网站监视服务定期检查这些服务是否仍在运行。创建一个小型网站,知道如何在本地“ping”您的服务,并通过其中一个监控服务按计划请求其页面


我知道一些这样的服务:。最后一个功能甚至可以监视专用网络上的HTTP资源,但此功能不是免费的。希望这有帮助。

您的问题表明windows服务恢复不会被触发,因为未单击错误对话框。也许您需要的是检测错误对话框是否打开并单击按钮。这样,服务可以成功退出,windows服务恢复也可以启动

我有一个程序用来自动点击恼人的clearcase对话框。下面是驱动程序的示例配置文件。您只需添加一行新的clickInfo,并填写正确的窗口和按钮标题

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="clickConfiguration" type="ClickButton.ClickConfigurationSection, ClickButton"/>
  </configSections>
  <clickConfiguration>    
    <clickInfo windowName="ClearCase" buttonName="Proceed" />
  </clickConfiguration>  
</configuration>


希望有帮助

你有没有检查过网上是否已经有这样的工具。好吧,我是在讽刺,但是版主有没有跟踪链接?它包含禁用Watson博士的说明