xfjf 发表于 2009-5-15 11:20:05

windows下按顺序启动服务方法

本帖最后由 fatie 于 2009-5-16 13:31 编辑

今天有个网友在QQ群里问了一个这样的问题:
谁对微软的那个服务工具比较熟悉?我有一个程序,包含3个exe文件,我现在能把他们3个都做成后台自动服务方式,可是这3个进程的启动顺序有先后之分,我如何设置他们的启动顺序?
我知道用WINDOWS服务的依赖关系,可以实现这个功能。但我不会添加这个依赖服务,于是在网上找了一下,下面把我的研究成果供享一下。
第一种方法:添加注册表
如果你要为一个服务配置依赖的话,请打开注册表编辑器,然后按照以下的步骤打开,其中使你要延缓启动的服务名称:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
在这个键值中,添加一个名字为DependOnService的REG_MULTI_SZ的值。然后,对DependOnService值来添加你要在此服务之前启动的服务名。如果你不知道要指定哪些服务的话,你就指定Spooler或是Messenger服务,因为他们一般都比较后启动。
在你在设置服务依赖的时候,要注意不要建立循环依赖关系——两个服务互相依赖。这样的话会使得这两个服务都永远无法启动。
注意:在你对注册表进行编辑之前,请先备份注册表文件,如果注册表出错的话,你可对其进行恢复。
第二种方法:使用SC工具
要使用SC工具需要安装Windows Support Tools,WINDOWS2000自带的SC没有添加依赖服务的功能。所以你要使用XP或2003的Windows Support Tools功能。
例如给BITS服务添加的依赖服务是RPCSS和EVENTSYSTEM,可以使用如下命令:
sc config bits depend= rpcss/eventsystem
windows下按顺序启动服务方法
小提一下:<此处被编辑,请勿附带广告,谢谢配合。——fatie>
页: [1]
查看完整版本: windows下按顺序启动服务方法