使用python创建的Windows Service无法启动

问题描述

使用python(3.7)脚本创建Windows服务

import servicemanager
import socket
import sys
import win32event
import win32service
import win32serviceutil

logfile = 'service.log'
logging.basicConfig(filename=logfile,filemode='w',format='%(asctime)s - %(message)s',datefmt='%d-%b-%y %H:%M:%S',level=logging.DEBUG)


class TestService(win32serviceutil.ServiceFramework):
    _svc_name_ = "WindowService"
    _svc_display_name_ = "Test Service"
    _svc_description_ = "Test Service"

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

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

    def SvcDoRun(self):
        rc = None
        while rc != win32event.WAIT_OBJECT_0:
            msg = "Service is running"
            logging.info(msg)
            rc = win32event.WaitForSingleObject(self.hWaitStop,5000)


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

使用pyinstaller -F --hidden-import = win32timezone WindowsService.py

为上述脚本创建了一个exe。

使用WindowsService.exe安装并已成功安装服务 但是当我启动该服务时,我遇到了错误

windows could not start the service on local computer
Error 1053: The service did not respond to the start or control request in a timely fashion.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...