本文实例讲述了以windows service方式运行Python程序的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env python # coding: utf-8 # SmallestService.py # # A sample demonstrating the smallest possible service written in Python. import win32serviceutil import win32service import win32event import time class SmallestPythonService(win32serviceutil.ServiceFramework): _svc_name_ = "SmallestPythonService" _svc_display_name_ = "The smallest possible Python Service" def __init__( self , args): win32serviceutil.ServiceFramework.__init__( self , args) # Create an event which we will use to wait on. # The "service stop" request will set this event. self .hWaitStop = win32event.CreateEvent( None , 0 , 0 , None ) def SvcStop( self ): # Before we do anything, tell the SCM we are starting the stop process. self .ReportServiceStatus(win32service.SERVICE_STOP_PENDING) # And set my event. win32event.SetEvent( self .hWaitStop) def SvcDoRun( self ): #把你的程序代码放到这里就OK了 f = open ( 'd:\\log.txt' , 'w' , 0 ) f.write(time.ctime(time.time())) f.close() win32event.WaitForSingleObject( self .hWaitStop, win32event.INFINITE) if __name__ = = '__main__' : win32serviceutil.HandleCommandLine(SmallestPythonService) # 括号里的名字可以改成其他的,必须与class名字一致; |
希望本文所述对大家的Python程序设计有所帮助。