python - Kan ikke åbne 'calc.exe' fra windows service
Problem
Jeg har oprettet en windows service ved hjælp af python s pywin32 pakke.
Jeg ønsker at køre 'calc.exe' efter at tjenesten kører.
Jeg forsøgte både 'os.system ()' og 'subprocess', under SvcDoRun endnu ikke succesfuldt.
Der er nye processer popping (præcis 2, som viser, at de faktiske funktionsopkald er vellykkede), der går under navnet 'Vælg en applikation'. Disse processer henvender sig til 'OpenWith.exe', der er placeret under 'System32' -mappen.
Alligevel åbnes eller vises ingen 'calc.exe' -proces.
Min kode:
import win32service
importer win32serviceutil
importer win32event
import os
import subprocess
class PySvc(win32serviceutil.ServiceFramework):
# you can NET START/STOP the service by the following name
\_svc\_name\_ = "PySvcDor"
# this text shows up as the service name in the Service
# Control Manager (SCM)
\_svc\_display\_name\_ = "Python Test Service"
# this text shows up as the description in the SCM
\_svc\_description\_ = "This service writes stuff to a file"
def \_\_init\_\_(self, args):
win32serviceutil.ServiceFramework.\_\_init\_\_(self, args)
# create an event to listen for stop requests on
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
# core logic of the service
def SvcDoRun(self):
import servicemanager
os.system('C:WindowsSystem32calc.exe')
subprocess.call(['C:WindowsSystem32calc.exe'])
def SvcStop(self):
# tell the SCM we're shutting down
self.ReportServiceStatus(win32service.SERVICE\_STOP\_PENDING)
# fire the stop event
win32event.SetEvent(self.hWaitStop)
if \_\_name\_\_ == '\_\_main\_\_':
win32serviceutil.HandleCommandLine(PySvc)