我正在开发具有七个Windows服务和用户界面的旧产品。服务中存在一些导致每10-15天崩溃的错误。我需要编写一个应用程序来监视服务的状态。如果服务崩溃,我需要发送一封电子邮件给管理员启动服务。服务看门狗设计
我无法使用自动恢复过程,因为在某些崩溃期间,会显示Microsoft错误报告对话框或其他对话框,并且服务会一直运行,直到消息被确认。
所以,我打算去这个单独的应用程序/监视服务来监视崩溃,直到原始服务中的错误完全修复。
请分享您对设计的看门狗服务的看法。
谢谢。
我正在开发具有七个Windows服务和用户界面的旧产品。服务中存在一些导致每10-15天崩溃的错误。我需要编写一个应用程序来监视服务的状态。如果服务崩溃,我需要发送一封电子邮件给管理员启动服务。服务看门狗设计
我无法使用自动恢复过程,因为在某些崩溃期间,会显示Microsoft错误报告对话框或其他对话框,并且服务会一直运行,直到消息被确认。
所以,我打算去这个单独的应用程序/监视服务来监视崩溃,直到原始服务中的错误完全修复。
请分享您对设计的看门狗服务的看法。
谢谢。
你的问题表明,Windows服务恢复不会被触发,因为没有点击错误对话框。也许你需要的是检测错误对话框是否打开并点击按钮。这样,服务可以成功退出,Windows服务恢复可以踢入。
我有attached一个程序,我用它来自动点击恼人的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>
希望它有帮助!
这一个帮助.. – bdhar 2010-03-19 06:43:35
从你的问题我明白,Windows不能告诉服务是否结束,因为它显示一个dialouge。如果Windows无法检测到服务已关闭,另一个应用程序又如何。
你将不得不找到证据证明该过程正在做的事情。检查日志文件是否增长或查看是否正在写入事件是最简单的事情。
滑稽你如何需要手工编辑注册表来禁用Drwatson,有一个命令行,使回;)这里,看看这个微软KB:http://support.microsoft.com/kb/188296
好吧,我很讽刺,但主持人是否按照链接?它包含说明禁用沃森博士 – Eddy 2010-03-04 11:23:34
如果你不能修复这些服务,但可以“揭发”他们作为Internet上的HTTP资源,您可以使用在线网站监控服务来定期检查服务是否仍在运行。创建一个知道如何在本地“ping”您的服务并通过其中一个监控服务请求其页面的小型网站。
我知道几种这样的服务:http://www.setcronjob.com/,http://www.webcron.org/,http://scheduler.codeeffects.com。最后一个可以监控你的私人网络上的HTTP资源,但这个功能不是免费的。希望这可以帮助。
如果网络中已经存在这样的工具,你有没有办法? – ckv 2010-03-02 06:57:14