【问题标题】:How to identify if a Windows Service is Hung?如何识别 Windows 服务是否挂起?
【发布时间】:2014-03-13 10:41:49
【问题描述】:

我开发了一个 Windows 服务,它监视一个目录,当特定文件到达时,它使用 SMTP 向用户发送电子邮件。

该服务已经投入生产一段时间了。这些天,偶尔会有用户抱怨他们没有收到日常工作流程的邮件。重启服务后问题解决。

服务日志没有显示任何错误实例。我的看法是该服务挂起/无响应。有什么方法可以确定服务何时挂起或收到相同通知?我的意思是,这可以作为例外处理吗?

另外,可能导致服务挂起的可能原因是什么?

EDIT1 或者,问题可能是由于文件观察程序引起的吗?文件观察程序是否可能已停止运行或无响应?如果是这样,有什么方法可以模拟无响应的 File watcher 吗?

EDIT2 该问题已确定。问题在于文件观察程序。显然,观察者正在查看的目录不知何故变得无法访问,可能是由于网络故障。现在,如果该目录不可访问,FileWatcher 会感到困惑并失去方向,从而导致服务变得无响应。

【问题讨论】:

  • 是什么让你觉得它挂了?
  • 日志上没有任何内容。如果出现异常,异常处理程序会捕获并记录它。此外,每当报告问题时,该服务始终处于启动模式。并在重新启动时工作。这导致人们相信服务会挂起。
  • 那么,如果您分享一些相关代码,它可能会很有用。
  • 问题已确定。问题在于文件观察程序。显然,观察者正在查看的目录不知何故变得无法访问,可能是由于网络故障。现在,如果无法访问该目录,FileWatcher 就会感到困惑并失去方向,从而导致服务变得无响应。无论如何,感谢您调查它。

标签: .net windows-services


【解决方案1】:

问题已确定。问题在于文件观察程序。显然,观察者正在查看的目录不知何故变得无法访问,可能是由于网络故障。现在,如果该目录不可访问,FileWatcher 会感到困惑并失去方向,从而导致服务变得无响应。无论如何,感谢您的调查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2014-06-29
    • 1970-01-01
    相关资源
    最近更新 更多