【问题标题】:Windows Service started, but process killedWindows 服务已启动,但进程已终止
【发布时间】:2011-03-29 07:54:01
【问题描述】:

我在 Windows 2000 机器上运行 Windows 服务。有时该服务的可执行文件会死掉,但 Windows 服务在服务管理器中仍列为“已启动”。在这种情况下,为该服务定义的重启行为不会生效。

如何避免这种情况?这是Windows 2000的配置问题还是Windows服务配置错误?

编辑:windows 服务是使用 py2exe 在 Python 中自行编写的,基于此描述:Creating a python win32 service

【问题讨论】:

  • 我们在谈论什么服务?
  • 自写服务。该程序是用 Python 编写的。
  • 我认为我们可以安全地将其缩小到错误编码。您需要调试您的服务并确定它为什么不能按您的预期工作。请记住,该代码不适用于发布您链接到的问题的人。
  • 我认为 Windows 服务的重启选项正是为解决此类意外崩溃而设计的。

标签: windows-services windows-server-2000


【解决方案1】:

Windows 服务恢复机制只会在它认为服务失败时启动。认为服务正常结束时不会触发。

来自微软的文档 (http://msdn.microsoft.com/en-us/library/ms685939%28v=VS.85%29.aspx):

服务在没有报告的情况下终止时被认为是失败的 SERVICE_STOPPED 的状态到服务控制器。

我的猜测是你的 Python 程序是:

  1. 捕捉崩溃,清理并正常退出,或
  2. 挂了。你能确认发生这种情况时在任务管理器中看不到 exe 吗? (确保显示所有用户的进程...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多