1053錯誤代碼(錯誤代碼1053是什么意思)
前沿拓展:
只想說凡事不能想當然,實踐出真理。
最近自己用python做了一個定時任務,代碼調試也都通過了,之后是打算做成windows服務,不要問我為啥不用Linux,因為我是windows系統,不想在虛擬機里折騰。預期中這應該不需要花費太長時間,結果浪費我很長時間。
主要問題是:服務可以安裝成功,但是啟動服務就提示1053錯誤。
網上的代碼基本都是千篇一律,看的都快懷疑人生,能不能不要抄來抄去。最后翻墻去谷歌搜索,發現了解決方案,網站在此(https://gist.github.com/guillaumevincent/d8d94a0a44a7ec13def7f96bfb713d3f)
先說下環境:
系統: win10
工具:python 3.7.3
打包工具:pyinstaller
測試代碼(WindowsService.py)如下:
import servicemanager
import socket
import sys
import win32event
import win32service
import win32serviceutil
class TestService(win32serviceutil.ServiceFramework):
_svc_name_ = "TestService"_svc_display_name_ = "Test Service"def __init__(self, args):win32serviceutil.ServiceFramework.__init__(self, args)self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)socket.setdefaulttimeout(60)def SvcStop(self):self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)win32event.SetEvent(self.hWaitStop)def SvcDoRun(self):# 具體的執行代碼,可以將自己的代碼放在此處rc = Nonewhile rc != win32event.WAIT_OBJECT_0:with open('C:\\TestService.log', 'a') as f:f.write('test service running...\n')rc = win32event.WaitForSingleObject(self.hWaitStop, 5000)if __name__ == '__main__':
if len(sys.argv)==1:servicemanager.Initialize()servicemanager.PrepareToHostSingle(TestService)servicemanager.StartServiceCtrlDispatcher()else:
win32serviceutil.HandleCommandLine(TestService)pyinstaller安裝就不說了,網上有很多教程,大家可以自行搜索。
打開運行命令(WIN+R),進入代碼所在的文件目錄
1、執行打包命令:
pyinstaller -F --hidden-import=win32timezone WindowsService.py2、安裝windows服務
WindowsService.exe install3、啟動服務
WindowsService.exe start執行完上述服務,打開服務services.msc
就可以在服務列表里看到服務了
最后如果想刪除服務,可以執行如下命令
4、停止服務
WindowsService.exe stop5、移除服務
WindowsService.exe remove如果還是有問題可以嘗試在系統環境變量Path里添加如下內容
拓展知識:
- 酒柜可以放客廳嗎(如何選擇合適的位置)?08-29
- 冰箱銅管腐蝕(如何預防和處理)05-06
- 佳麗彩遙控器代碼(如何設置和更改)04-27
- 帝度洗衣機武漢維修(帝度洗衣機售后電話)08-19
-
GEA空調廠家售后服務電話號碼是多少(如何獲取GEA空調廠家的售后服務電話號碼
2024-08-24
-
DATAAIRE空調清洗(如何正確清洗DATAAIRE空調以保持其性能和延長使用壽命?)
2024-08-24
-
雷諾威空調24小時服務熱線電話(如何聯系雷諾威空調24小時服務熱線以解決我的
2024-08-24
-
櫻雪點火故障(解決櫻雪點火故障的實用方法與步驟)
2024-08-24
-
RC空調24小時熱線(RC空調24小時熱線:全天候客戶支持與故障排除指南)
2024-08-24