Windows 服务已启动,但进程被终止

发布于 2024-10-28 00:58:02 字数 327 浏览 1 评论 0原文

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

我怎样才能避免这种情况呢?这是Windows 2000的配置问题还是Windows服务配置错误?

编辑:Windows服务是使用py2exe在Python中自行编写的,基于以下描述:创建一个python win32服务

I am running a Windows Service on a Windows 2000 machine. Sometimes the executable for this service dies, but the Windows service is still listed as "started" in the service manager. In this situation the restart behaviour defined for this service does not take effect.

How can I avoid this situation? Is this a configuration problem of Windows 2000 or is the Windows service wrongly configured?

EDIT: The windows service is self-written in Python using py2exe, based on this description: Creating a python win32 service

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦幻的味道 2024-11-04 00:58:02

Windows 服务恢复机制仅在认为服务失败时才会启动。当它认为服务已经正常结束时,不会被触发。

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

当服务终止且未报告任何错误时,该服务被视为失败
SERVICE_STOPPED 状态发送给服务控制器。

我的猜测是,您的 Python 程序要么是:

  1. 捕获崩溃、清理并正常退出,要么是
  2. 挂起。您能否确认发生这种情况时在任务管理器中没有看到该 exe? (一定要显示所有用户的进程...)

The Windows Service Recovery mechanism will only kick in when it thinks the service has failed. It will NOT be triggered when it thinks the service has ended normally.

From Microsoft's documentation (http://msdn.microsoft.com/en-us/library/ms685939%28v=VS.85%29.aspx):

A service is considered failed when it terminates without reporting a
status of SERVICE_STOPPED to the service controller.

My guess is that your Python program is either:

  1. Catching the crash, cleaning up and exiting normally, or
  2. Hung. Can you confirm that you don't see the exe in the Task Manager when this happens? (Be sure to show processes from all users...)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文