本帖最後由 fatie 於 2009-5-16 13:31 編輯
6 y# _* L Q( R/ ], e" v' |4 @5 Y3 u* Q _1 f
今天有個網友在QQ群裡問了一個這樣的問題:
/ L. ?' x7 v H! F4 `8 N誰對微軟的那個服務工具比較熟悉?我有一個程序,包含3個exe文件,我現在能把他們3個都做成後台自動服務方式,可是這3個進程的啟動順序有先後之分,我如何設置他們的啟動順序?5 m- |; }6 q# h! c
我知道用WINDOWS服務的依賴關係,可以實現這個功能。但我不會添加這個依賴服務,於是在網上找了一下,下面把我的研究成果供享一下。
3 W C$ ^5 P5 E0 U+ i3 i& B& E第一種方法:添加註冊表
& o n3 G# W) j9 u7 T/ @1 r如果你要為一個服務配置依賴的話,請打開註冊表編輯器,然後按照以下的步驟打開,其中使你要延緩啟動的服務名稱:: x$ G$ r% Q% B4 C' O# ?9 @+ J5 `8 h
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
( C; d; M- I5 p. D4 {在這個鍵值中,添加一個名字為DependOnService的REG_MULTI_SZ的值。然後,對DependOnService值來添加你要在此服務之前啟動的服務名。如果你不知道要指定哪些服務的話,你就指定Spooler或是Messenger服務,因為他們一般都比較後啟動。
, L) r5 g& m3 G4 W' N7 y/ k- i在你在設置服務依賴的時候,要注意不要建立循環依賴關係——兩個服務互相依賴。這樣的話會使得這兩個服務都永遠無法啟動。
( g' |& L& v5 n4 k! @注意:在你對註冊表進行編輯之前,請先備份註冊表文件,如果註冊表出錯的話,你可對其進行恢復。' P7 m. O* b; E) ?8 D! s
第二種方法:使用SC工具
0 J, v5 \4 I" M! D要使用SC工具需要安裝Windows Support Tools,WINDOWS2000自帶的SC沒有添加依賴服務的功能。所以你要使用XP或2003的Windows Support Tools功能。: p0 P/ \6 v* d1 C& L
例如給BITS服務添加的依賴服務是RPCSS和EVENTSYSTEM,可以使用如下命令:
) s; G6 O1 u v# H8 msc config bits depend= rpcss/eventsystem9 |! k- V) S* s: l# b8 j; H' m0 n" o
windows下按順序啟動服務方法
0 n" P5 h6 J( J9 _& ~- y6 d5 h" z# J" a小提一下:<此處被編輯,請勿附帶廣告,謝謝配合。——fatie> |
|