You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Windows服务启动时出现的Error 1053错误?

解决Windows服务启动Error 1053问题

你的问题根源在于:普通控制台程序不能直接作为Windows服务运行。Windows服务需要遵循特定协议,必须在启动后快速向Windows服务控制管理器(SCM)发送响应,且服务运行在无交互的会话环境中,print、input这类依赖控制台的代码完全不适用。

修正方案

1. 重写符合服务规范的Python脚本

先安装pywin32库:

pip install pywin32

替换原脚本为以下服务专用代码:

import win32serviceutil
import win32service
import win32event
import servicemanager
import sys

class HelloWorldService(win32serviceutil.ServiceFramework):
    _svc_name_ = "Hello"
    _svc_display_name_ = "Hello World Service"

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)

    def SvcDoRun(self):
        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                              servicemanager.PYS_SERVICE_STARTED,
                              (self._svc_name_, ''))
        # 业务逻辑示例:输出日志到Windows事件查看器
        servicemanager.LogInfoMsg("Hello World!")
        # 等待停止信号,保持服务运行状态
        win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

if __name__ == '__main__':
    if len(sys.argv) == 1:
        servicemanager.Initialize()
        servicemanager.PrepareToHostSingle(HelloWorldService)
        servicemanager.StartServiceCtrlDispatcher()
    else:
        win32serviceutil.HandleCommandLine(HelloWorldService)

2. 重新打包为可执行文件

用pyinstaller打包时,可指定无控制台窗口(服务不需要控制台):

pyinstaller --onefile --noconsole hello_service.py

3. 注册并启动服务

以管理员身份打开命令提示符:

  • 注册服务:
hello_service.exe install
  • 启动服务:
net start Hello
  • 查看服务输出:打开事件查看器 → 应用程序和服务日志 → Python,即可看到"Hello World!"的日志记录。

原脚本失效的核心原因

  • 原脚本用input等待用户按键,服务运行在无交互会话中无法响应,且未向SCM发送启动成功信号,超时后触发1053错误。
  • 修改注册表超时时间只是治标,核心是程序不符合Windows服务的运行逻辑。

内容的提问来源于stack exchange,提问作者Benymoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:45:15