问题描述
使用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 (将#修改为@)