設置windows服務依賴項

  場景還原:python2.7開發的項目,製作成了windows服務,隨系統啓動。系統重啓後發現服務未能自動啓動,檢查事件查看器日誌發現服務先於Mysql數據庫服務啓動,由於服務中必須對MySQL進行訪問,所以服務啓動失敗。儘管設置了啓動失敗後嘗試重啓,但是不能讓項目服務自啓動。

       問題詳述:1.xp系統不能設置服務“自動(延遲)”模式

                         2.服務先於MySQL服務啓動。在代碼中設置了睡眠,但是windows的服務機制是系統會在服務自啓一段時間(未驗證,但是一定有)要求服務返回服務狀態(是否已經運行)。如果此時程序睡眠無響應,系統會認爲服務啓動失敗。實際上程序會在經歷了睡眠之後啓動,此時服務狀態已被認定爲未啓動,所以系統只提供啓動按鈕,服務變成了系統無法控制的進程,無法打開也無法關閉,只能通過殺死進程來停止程序。

      解決方案:

                    1.打開註冊表(win+r   regedit),打開 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services路徑。

                    2.找到自己需要設置依賴項的服務,新增/修改 多字符串值:DependOnService。值爲先於服務啓動的服務或程序。

     注:

      sc conifg 服務名 depend= "依賴項" ,此cmd命令貌似不很靠譜,可能書寫有誤吧。

 

        

                  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章