以windows service方式运行Python程序的方法

268次阅读  |  发布于5年以前

本文实例讲述了以windows service方式运行Python程序的方法。分享给大家供大家参考。具体实现方法如下:


    #!/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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8