haven’t already guessed, to control a service you use the
function. This function is simple: it
takes a handle to the service you wish to control and an integer
identifying the control to send. The function returns the new status
for the service, in the same format returned by the
Let’s stop the messenger service:
>>> newStatus=win32service.ControlService(hs, win32service.SERVICE_CONTROL_STOP) >>>
And use the helper function to decode the status:
>>> PrintServiceStatus(newStatus) The service shares a process with other services The service is stopping >>>
The service status reports the service is stopping. If you query the service status in a few seconds, note that it finally stopped:
>>> PrintServiceStatus(win32service.QueryServiceStatus(hs)) The service shares a process with other services The service is stopped
This is an important point.
win32service.ControlService() returns immediately
when the service has accepted the control request; it may take some
time for the service to complete the request.
Let’s restart the service to bring everything back to the same
state in which we found it. Starting a service requires the use of
function. This function takes a handle
to the service to start and the arguments for the service or
None if there are no arguments.
Now restart the service:
>>> win32service.StartService(hs, None) >>>
The service now goes through ...