改變Windows服務的啟動順序

2021-07-29 16:37:21 字數 1107 閱讀 4014

要改變windows服務的啟動順序,只要修改windows的登錄檔就可 以了。任何windows服務的註冊資訊可以在登錄檔的hkey_local_machine\

group值:乙個reg_sz型別的值。它用來描述服務屬於那乙個服務組。如果服務沒有這一項,那麼它不屬於任何乙個服務組,系統則會預設的將其在所有的服務啟動後載入。

tag值:乙個reg_dword型別的值。它用來描述服務的標識。每乙個在服務組中的服務都會被分配乙個唯一的標識。登錄檔通過對服務組的服務標識的排列來安排,同一服務組中的個服務的載入先後順序。

那麼,如何改變服務的啟動順序,現在就被分為了兩個步驟,一是:改變服務組的啟動順序。二是:改變服務組中各服務的啟動順序。

先來介紹第一步:登錄檔的hkey_local_machine\system\currentcontrolset\control\servicegrouporder鍵的list值中儲存了表示服務組啟動順序的資訊。每乙個服務組都是乙個字串,通過字串在值中排列的先後位置表示服務組被載入的先後順序。要想改變服務組的載入順序,只要改變它們的位置就可以了。方法:用regedit32.exe(不是,regedit.exe,因為,在這裡雙擊list值後,只能看到十六進製制的資料,不便於修改。)開啟該值,這是乙個字元編輯環境,改變裡面的組的先後順序,然後確定改動。服務組的啟動順序就搞定了。

第二步:hkey_local_machine\system\currentcontrolset\control\grouporderlist鍵下有各服務組中各服務啟動順序的資訊。每個服務組資訊都被儲存為了乙個reg_binary型別的值,如:pointer port 服務組的值為030000000200000001000000030000000。下面為了方便觀察,我們把它處理為030000000200000001000000030000000 它表示pointer port 服務組有三個服務,tag值為2的服務先載入,然後是tag值為1的服務,最後是tag值為3的服務載入(資訊解讀的順序是從左到右)。要改變服務在組中的載入順序,只要編輯這個二進位制串就可以了。

除了可以通過改變登錄檔的方法來改變服務的啟動順序,還可以通過設定服務間的依賴關係來間接改變服務的啟動順序,這種方法特別適應於那些和啟動順序以及啟動時間都相關的服務,比如只有當乙個服務完全啟動時另乙個服務才能正常啟動執行的情形。

啟動windows服務成功

這兩天一直在學習windows服務的知識,書上的和網上的程式,可以成功安裝服務,但是無法啟動,會出現1053的錯誤 錯誤 1053 服務沒有及時響應啟動或控制請求。如下 include include tchar servicename text beeper service service sta...

windows啟動redis服務

參考 2.使用如下命令可將redis註冊到windows服務 2 設定服務命令 redis server service install redis.windows service.conf loglevel verbose 此時還不能在windows的服務啟動redis 由於redis.windo...

指令碼啟動windows服務

echo off setlocal enabledelayedexpansion for f tokens delims i in sc query state inactive findstr findstr sql do echo i set tmpstr i echo tmpstr 13,1 ...