本文实例讲述了以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程序设计有所帮助。