成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

以Windows Service的方式運行Python程序

開發 后端
本文將介紹如何以Windows Service的方式運行Python程序,語句很簡單,要用到Tim Golden編寫的wmi.py 和 Mark Hammond的win32 extensions for Python ,兩個缺一不可。

Python程序代碼

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

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

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

  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名字一致; 

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

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

不過,這樣雖然達到目的了,但還是發現個小問題,就是要是想停止該服務,關閉的進度條就愣在那里不動了,必須在進程管理器里把pythonservice.exe關掉才行,這個bug一直沒法解決,就是關閉服務的同時,要把監視待機事件取消,否則退不出這個死循環。要是哪位高人看到了,希望可以指點一二。

【編輯推薦】

  1. 淺談Python和C#中的Run As代碼實現方式
  2. 腳本語言排行榜 PHP、Ruby和Python領先
  3. Python選擇Mercurial Hg版本控制系統
  4. 在Python中解決中英文混雜出錯的問題
  5. 使用Oracle數據庫實現Python數據持久
責任編輯:彭凡 來源: cnblogs
相關推薦

2010-03-04 10:50:45

windows ser

2022-05-13 10:24:44

WineWindowsLinux

2021-12-23 22:48:17

Windows 11Windows微軟

2018-12-21 19:30:28

Windows 10Windows管理員身份

2009-05-28 09:48:21

微軟Windows 7操作系統

2011-08-17 15:39:16

Windows7管理員身份運行程序

2023-10-25 18:18:10

Python腳本代碼

2019-12-12 10:46:15

Kubernetes容器系統

2009-11-27 13:45:02

Tomcat for

2009-03-21 16:32:00

虛擬化VmwareWindows

2020-02-03 09:53:12

卸載驅動程序Windows 10

2022-04-27 09:39:11

Mixin工具

2010-04-13 08:49:08

JavaLombokJavabean

2022-01-04 12:43:47

Haiku操作系統Wine補丁

2010-12-30 10:10:06

NetLinux學習

2018-06-26 13:05:17

Windows 10pingInternet

2009-10-22 08:57:56

2010-06-18 14:24:47

AODV協議

2020-01-15 13:50:29

桌面快捷方式Windows 10WiFi網絡

2022-12-30 11:05:40

Rust代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩电影免费在线观看中文字幕 | 99久久免费精品国产男女高不卡 | 欧美性猛交 | 国产在线一区二区三区 | 97久久精品午夜一区二区 | 中文字幕精品一区 | 涩涩鲁亚洲精品一区二区 | 欧美国产视频一区二区 | 欧美精品二区 | 欧美日一区 | 最新午夜综合福利视频 | 天天综合网天天综合色 | 成人免费激情视频 | 99热.com| 国产成人小视频 | 男人天堂网址 | 欧美一区二区在线播放 | 久久久精品一区二区三区 | 狠狠艹 | 成人免费看片网 | 我要看黄色录像一级片 | 91高清免费 | 国产福利免费视频 | 日韩综合在线播放 | 久久国产成人午夜av影院武则天 | 国产一区二区在线免费观看 | 在线中文字幕国产 | 免费精品视频 | 亚洲成人国产精品 | 国产亚洲精品精品国产亚洲综合 | 中文字幕一区二区三区日韩精品 | 玖玖精品 | 欧美高清视频一区 | 拍拍无遮挡人做人爱视频免费观看 | 黄色网页在线观看 | 日韩欧美在线观看视频 | 狠狠操电影 | 亚洲欧美另类在线 | 久久久久久一区 | 久在线精品视频 | 亚洲乱码一区二区三区在线观看 |