On 02/09/2010 20:06, Edward Kozlowski wrote:
On Sep 2, 10:22 am, Ian Hobson<i...@ianhobson.co.uk> wrote:
Hi All,
I am attempting to create a Windows Service in Python.
I have the framework (from Mark Hammond and Andy Robinason's book)
running - see below. It starts fine - but it will not stop. :(
net stop "Python Service"
and using the services GUI both leave the services showing it as "stopping"
I guess this means SvcStop is called but it is not enough to get it out
of the machine.
Does anyone know why not?
Python 2.7 with win32 extensions, sunning on Windows 7.
Many thanks
Ian
the (complete) source code is
#!/usr/bin/env python
# coding=utf8
# service.py = testing services and Named pipes
#
import win32serviceutil
import win32service
import win32event
class PythonService(win32serviceutil.ServiceFramework):
_svc_name_ = "Python Service"
_svc_display_name_ = "Test Service in Python"
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)
wind32event.SetEvent(self.hWaitStop)
def SvcDoRun(self):
win32event.WaitForSingleObject(self.hWaitStop,win32event.INFINITE)
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(PythonService)
Looks to me like there may be a typo in your code.
You probably meant win32event.SetEvent(self.hWaitStop), not
wind32event.
Regards,
-Edward Kozlowski
A huge big thank you Edward. That was the problem.
Regards
Ian
--
http://mail.python.org/mailman/listinfo/python-list