运行 一个 python 脚本安装 windows 服务时无响应
No response when running a python script to install a windows service
我以前用运行一个python注册一个windows服务。但是我刚才注册失败了。我 运行 示例服务注册脚本没有单一响应。只是 运行 然后退出。服务经理没有显示我的服务。我不知道如何解决这个问题。我多次尝试重新安装 pywin32 和 python。但无论如何它都不起作用。任何帮助将不胜感激。
代码如下:
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket
class AppServerSvc (win32serviceutil.ServiceFramework):
_svc_name_ = "TestService"
_svc_display_name_ = "Test Service"
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
socket.setdefaulttimeout(60)
print(333)
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_,''))
self.main()
def main(self):
pass
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
这就是我在 运行 编码后得到的:
C:\Users\saige\Documents\flasky\flasky-first-edition-5a>python
create_service.py install
C:\Users\saige\Documents\flasky\flasky-first-edition-5a>python
create_service.py install
我终于通过切换 python 版本修复了该错误。我发现 Python 3.7 在某些方面不支持 win32。我安装了 python 2.7 然后它就可以工作了。当然,我更改了环境路径变量并为 python 2.7 手动安装了 win32。
我以前用运行一个python注册一个windows服务。但是我刚才注册失败了。我 运行 示例服务注册脚本没有单一响应。只是 运行 然后退出。服务经理没有显示我的服务。我不知道如何解决这个问题。我多次尝试重新安装 pywin32 和 python。但无论如何它都不起作用。任何帮助将不胜感激。
代码如下:
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket
class AppServerSvc (win32serviceutil.ServiceFramework):
_svc_name_ = "TestService"
_svc_display_name_ = "Test Service"
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
socket.setdefaulttimeout(60)
print(333)
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_,''))
self.main()
def main(self):
pass
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
这就是我在 运行 编码后得到的:
C:\Users\saige\Documents\flasky\flasky-first-edition-5a>python create_service.py install
C:\Users\saige\Documents\flasky\flasky-first-edition-5a>python create_service.py install
我终于通过切换 python 版本修复了该错误。我发现 Python 3.7 在某些方面不支持 win32。我安装了 python 2.7 然后它就可以工作了。当然,我更改了环境路径变量并为 python 2.7 手动安装了 win32。