2011-11-05 97 views
0

我有用Python编写的Windows服务。我想在机器启动时自动启动它。在机器启动时运行Windows服务

我该怎么做?

class AppServerSvc (win32serviceutil.ServiceFramework): 
_svc_name_ = "Service" 
_svc_display_name_ = "Myservice" 

def __init__(self,args): 
    win32serviceutil.ServiceFramework.__init__(self,args) 
    self.hWaitStop = win32event.CreateEvent(None,0,0,None) 
    #socket.setdefaulttimeout(60) 

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.timeout = 120000 
    self.main()    #//thread.start_new_thread(main) 

def main(self): 
     pass 

def ctrlHandler(ctrlType): 
    return True   

if __name__ == '__main__': 
    win32api.SetConsoleCtrlHandler(ctrlHandler, True) 
    win32serviceutil.HandleCommandLine(AppServerSvc) 
+0

出于好奇,当我没有与服务的经验 - 这是什么上面的代码呢? – Jonathan

+1

我不明白。服务在系统启动时运行。 –

+3

您的安装程序需要将服务启动类型设置为自动(或者用户可以手动执行)。 –

回答