設置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命令貌似不很靠譜,可能書寫有誤吧。

 

        

                  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM