真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何以WindowsService的方式運行Python程序

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)如何以Windows Service的方式運行Python程序,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、小程序設(shè)計等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體。

Python程序代碼

importwmi  importos  c=wmi.WMI()  watcher=c.Win32_PowerManagementEvent.watch_for(EventType=7)#監(jiān)視待機事件的語句;  whileTrue:  os.system("kdlj.vbs")#運行“連接寬帶“的程序,這里還是用了上次那位仁兄的vbs代碼;  watcher()

由于運行時Python程序的控制臺窗口一直在那兒,看著有點礙事兒。于是乎想到要是能把他以windowsservice的方式運行,就像其他在windows服務(wù)管理器里的程序一樣。

最終,在"PythonProgrammingOnWin32"(byMarkHammond)這本書里找到了相關(guān)介紹,它里
面有一個簡單的模版,把Python程序代碼放入相應(yīng)位置就可以了:

  1. #SmallestService.py  

  2. #  

  3. #AsampledemonstratingthesmallestpossibleservicewritteninPython.  

  4.  

  5. importwin32serviceutil  

  6. importwin32service  

  7. importwin32event  

  8.  

  9. classSmallestPythonService(win32serviceutil.ServiceFramework):  

  10. _svc_name_="SmallestPythonService" 

  11. _svc_display_name_="ThesmallestpossiblePythonService" 

  12. def__init__(self,args):  

  13. win32serviceutil.ServiceFramework.__init__(self,args)  

  14. #Createaneventwhichwewillusetowaiton.  

  15. #The"servicestop"requestwillsetthisevent.  

  16. self.hWaitStop=win32event.CreateEvent(None,0,0,None)  

  17.  

  18. defSvcStop(self):  

  19. #Beforewedoanything,telltheSCMwearestartingthestopprocess.  

  20. self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)  

  21. #Andsetmyevent.  

  22. win32event.SetEvent(self.hWaitStop)  

  23.  

  24. defSvcDoRun(self):

  25. #把你的程序代碼放到這里就OK了
    win32event.WaitForSingleObject(self.hWaitStop,win32event.INFINITE)

    if__name__=='__main__':
    win32serviceutil.HandleCommandLine(SmallestPythonService)
    #括號里的名字可以改成其他的,必須與class名字一致; 

接下來,只要安裝一下服務(wù),cmd下運行:SmallestService.pyinstall就行了。

這樣,你就可以在windows服務(wù)管理器里找到一個名叫"ThesmallestpossiblePythonService"的服務(wù)了,設(shè)成自動啟動,就會開機自動啟動并且一直在后臺運行了。(眼不見心不煩,)

不過,這樣雖然達到目的了,但還是發(fā)現(xiàn)個小問題,就是要是想停止該服務(wù),關(guān)閉的進度條就愣在那里不動了,必須在進程管理器里把pythonservice.exe關(guān)掉才行,這個bug一直沒法解決,就是關(guān)閉服務(wù)的同時,要把監(jiān)視待機事件取消,否則退不出這個死循環(huán)。

上述就是小編為大家分享的如何以Windows Service的方式運行Python程序了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標題:如何以WindowsService的方式運行Python程序
本文來源:http://weahome.cn/article/jjojsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部