我有一个在大多数服务器上工作正常的Windows服务。 但是在一台服务器中,我发现它在networking服务启动之前就开始了。 这导致服务挂起,因此操作系统不启动。 它也卡住了。 通常的服务启动顺序是什么? 我的Windows服务确实build立TCP连接。 我应该添加一个延迟的开始? 如果是这样的话,是否所有的服务不应该在这些networking服务之后延迟启动? 任何帮助将不胜感激。
使用延迟启动可能是一种可能的解决scheme。
另一种可能是添加一个依赖项,以便服务以您想要的顺序启动。 例如,您不希望在NSI服务之前启动服务,因为直到NSI服务运行之前,才会发生networking连接。 所以添加一个依赖。
来自MSDN :
如果自动启动服务取决于需求启动服务,则需求启动服务也会自动启动。
(有关启动顺序的更多细节也在MSDN文章中。)
但是,如果我是你,那么这两件事情中的任何一个都可能奏效,我更有兴趣弄清楚这台服务器的不同之处。 在修改系统设置并使其成为“特殊的雪花”之前,始终要充分了解发生了什么,以及为什么要这样做是个好主意。
编辑 :
你让我更多地思考这个问题:“Windows中服务的开始顺序是什么”,我的意思是, 确切的顺序,我不认为这个问题至less没有得到彻底的回答,至less不是公开的。
我认为这部分是由于这个事实非常复杂。 Windows服务的确切启动顺序始终在变化。 有“早期启动服务”,“第一阶段服务”,“第二阶段服务”,服务组,服务,因为它们是依赖关系等等。等等。在每个版本的Windows而且在不同的configuration和部署选项上也会有所不同。 所以不要指望它被永久性地logging在最通用的相对术语之外,比如“延迟启动服务在自动启动服务之后启动”。
我认为这也部分是因为这是一个非确定性的情况。 服务控制pipe理器(用户模式下的services.exe)将启动信号发送到服务,并且该部分的顺序相当确定,但是启动信号发送的时间和服务实际启动的时间是两个不同的东西。 由于Windows的抢占性,我们不能总是保证服务A会在服务B之前启动,即使SCM首先发送服务A的启动控制。 (除非我们使用某种同步机制。)
无论如何,我想我至less可以在启动时启用一些SCM日志logging,并按时间顺序查看SCM启动所有服务。
这是Windows 10,RS1 / 1607。 正如我之前提到的,基本上任何其他版本的结果都会有所不同。 结果已经被编辑了长度和内容。 首先,我认为显示服务进入运行状态的时间顺序是非常有趣的,而不一定是SCM尝试启动它们的顺序。
07/06/17-13:05:39.7425860 [SCM] service PlugPlay, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:39.8150411 [SCM] service Power, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:39.8629388 [SCM] service DcomLaunch, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000080 07/06/17-13:05:39.8699565 [SCM] service RpcEptMapper, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:39.8745944 [SCM] service RpcSs, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c0 07/06/17-13:05:39.9107503 [SCM] service BrokerInfrastructure, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00001080 07/06/17-13:05:39.9276072 [SCM] service LSM, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:40.0868049 [SCM] service SystemEventsBroker, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000012c1 07/06/17-13:05:40.4599977 [SCM] service nsi, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:40.4641823 [SCM] service lmhosts, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:40.4705790 [SCM] service TermService, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:40.4708935 [SCM] service CoreMessagingRegistrar, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:40.4943177 [SCM] service gpsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000141 07/06/17-13:05:40.4975091 [SCM] service gpsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000541 07/06/17-13:05:40.5067210 [SCM] service TimeBrokerSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000241 07/06/17-13:05:40.5877317 [SCM] service UmRdpService, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000085 07/06/17-13:05:40.6327091 [SCM] service Dnscache, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000059 07/06/17-13:05:40.6501216 [SCM] service CertPropSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000085 07/06/17-13:05:40.6716164 [SCM] service Dhcp, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:40.6785583 [SCM] service Schedule, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000012c5 07/06/17-13:05:40.7442193 [SCM] service LanmanWorkstation, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000043 07/06/17-13:05:40.7560620 [SCM] service EventLog, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000205 07/06/17-13:05:40.8915301 [SCM] service SessionEnv, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000281 07/06/17-13:05:40.9149615 [SCM] service ProfSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:40.9173657 [SCM] service NlaSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:40.9429894 [SCM] service netprofm, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:40.9494092 [SCM] service UserManager, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:41.0502482 [SCM] service NcbService, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000081 07/06/17-13:05:41.2351873 [SCM] service vmickvpexchange, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:41.2897569 [SCM] service vmictimesync, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:41.3259511 [SCM] service vmicshutdown, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:41.3284648 [SCM] service vmicvss, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000103 07/06/17-13:05:41.3444338 [SCM] service Themes, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:41.3548424 [SCM] service vmicrdv, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:41.3823139 [SCM] service WPDBusEnum, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000004c1 07/06/17-13:05:41.3843401 [SCM] service WinHttpAutoProxySvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000041 07/06/17-13:05:41.3856439 [SCM] service vmicheartbeat, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:41.3874138 [SCM] service EventSystem, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:41.5580789 [SCM] service SENS, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000041 07/06/17-13:05:41.6772846 [SCM] service FontCache, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:41.9209576 [SCM] service AudioEndpointBuilder, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:42.0189267 [SCM] service VSS, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:42.0210403 [SCM] service Audiosrv, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:42.0484759 [SCM] service SamSs, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:42.2429764 [SCM] service Wcmsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000012c5 07/06/17-13:05:42.2906325 [SCM] service ShellHWDetection, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:42.5323497 [SCM] service Spooler, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000004c1 07/06/17-13:05:42.5431893 [SCM] service ScDeviceEnum, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000481 07/06/17-13:05:42.5485449 [SCM] service wudfsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000000 07/06/17-13:05:42.5989161 [SCM] service NetSetupSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:42.6021970 [SCM] service WbioSrvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000441 07/06/17-13:05:42.6391087 [SCM] service SCardSvr, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000481 07/06/17-13:05:42.7007534 [SCM] service NgcCtnrSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:42.7017472 [SCM] service BFE, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000041 07/06/17-13:05:42.7098576 [SCM] service Winmgmt, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000007 07/06/17-13:05:42.7222523 [SCM] service Netlogon, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000003 07/06/17-13:05:42.8153049 [SCM] service iphlpsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c9 07/06/17-13:05:42.8854162 [SCM] service CryptSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000085 07/06/17-13:05:42.8857247 [SCM] service DPS, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:43.0717978 [SCM] service LanmanServer, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:44.1651270 [SCM] service PcaSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000085 07/06/17-13:05:44.3247890 [SCM] service TrkWks, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:44.3303880 [SCM] service DiagTrack, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000013c5 07/06/17-13:05:44.3364873 [SCM] service MpsSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:44.3497466 [SCM] service SysMain, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c5 07/06/17-13:05:44.3573408 [SCM] service WpnService, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000401 07/06/17-13:05:44.3581205 [SCM] service WdiServiceHost, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:44.7769374 [SCM] service sppsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:45.1100224 [SCM] service wisvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000005 07/06/17-13:05:45.2168257 [SCM] service fhsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000004c5 07/06/17-13:05:45.2489211 [SCM] service WinDefend, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c5 07/06/17-13:05:45.3731715 [SCM] service wuauserv, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c5 07/06/17-13:05:45.3899756 [SCM] service WinHttpAutoProxySvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000041 07/06/17-13:05:45.3958062 [SCM] service StateRepository, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x0000000d 07/06/17-13:05:45.6152215 [SCM] service tiledatamodelsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000181 07/06/17-13:05:47.3504859 [SCM] service SCardSvr, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000481 07/06/17-13:05:47.5248612 [SCM] service WdNisSvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:47.9543134 [SCM] service SCardSvr, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000481 07/06/17-13:05:47.9543975 [SCM] service SCardSvr, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000481 07/06/17-13:05:48.5741736 [SCM] service CDPUserSvc_33f2e, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000000c1 07/06/17-13:05:50.7171925 [SCM] service W32Time, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x0000007d 07/06/17-13:05:51.0991216 [SCM] service wlidsvc, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000081 07/06/17-13:05:51.2245142 [SCM] service KeyIso, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000001 07/06/17-13:05:51.4173887 [SCM] service WSearch, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x000010c5 07/06/17-13:05:52.7271615 [SCM] service Appinfo, state 0x00000004(SERVICE_RUNNING), exit 0, sexit 0, controls 0x00000081
接下来,我们按时间顺序列出了SCM发送启动控制的Windows服务。 注意这个列表更短。 并不总是以相同的顺序。
07/06/17-13:05:40.4600357 [SCM] Successfully sent start control to service gpsvc, user S-1-5-18 07/06/17-13:05:40.4601289 [SCM] Successfully sent start control to service lmhosts, user S-1-5-18 07/06/17-13:05:40.4601542 [SCM] Successfully sent start control to service CoreMessagingRegistrar, user S-1-5-90-0-1 07/06/17-13:05:40.4602090 [SCM] Successfully sent start control to service TermService, user S-1-5-18 07/06/17-13:05:40.4602341 [SCM] Successfully sent start control to service NcbService, user S-1-5-18 07/06/17-13:05:40.4602536 [SCM] Successfully sent start control to service W32Time, user S-1-5-18 07/06/17-13:05:40.4660675 [SCM] Successfully sent start control to service TimeBrokerSvc, user S-1-5-18 07/06/17-13:05:40.5068238 [SCM] Successfully sent start control to service Schedule, user S-1-5-18 07/06/17-13:05:40.5435413 [SCM] Successfully sent start control to service RdpVideoMiniport, user S-1-5-20 07/06/17-13:05:40.5877716 [SCM] Successfully sent start control to service UmRdpService, user S-1-5-20 07/06/17-13:05:40.6336400 [SCM] Successfully sent start control to service CertPropSvc, user S-1-5-20 07/06/17-13:05:40.8919486 [SCM] Successfully sent start control to service SessionEnv, user S-1-5-20 07/06/17-13:05:40.9437595 [SCM] Successfully sent start control to service netprofm, user S-1-5-18 07/06/17-13:05:40.9437849 [SCM] Successfully sent start control to service UserManager, user S-1-5-18 07/06/17-13:05:41.2444548 [SCM] Successfully sent start control to service vmickvpexchange, user S-1-5-18 07/06/17-13:05:41.2898074 [SCM] Successfully sent start control to service vmicvss, user S-1-5-18 07/06/17-13:05:41.2898367 [SCM] Successfully sent start control to service vmicshutdown, user S-1-5-18 07/06/17-13:05:41.2902957 [SCM] Successfully sent start control to service vmictimesync, user S-1-5-18 07/06/17-13:05:41.3260049 [SCM] Successfully sent start control to service WPDBusEnum, user S-1-5-18 07/06/17-13:05:41.3444823 [SCM] Successfully sent start control to service vmicheartbeat, user S-1-5-18 07/06/17-13:05:41.3548887 [SCM] Successfully sent start control to service WinHttpAutoProxySvc, user S-1-5-20 07/06/17-13:05:41.3549103 [SCM] Successfully sent start control to service vmicrdv, user S-1-5-18 07/06/17-13:05:41.9211318 [SCM] Successfully sent start control to service VSS, user S-1-5-18 07/06/17-13:05:42.5324545 [SCM] Successfully sent start control to service ScDeviceEnum, user S-1-5-18 07/06/17-13:05:42.5989696 [SCM] Successfully sent start control to service NetSetupSvc, user S-1-5-18 07/06/17-13:05:42.7008186 [SCM] Successfully sent start control to service NgcCtnrSvc, user S-1-5-18 07/06/17-13:05:44.1651981 [SCM] Successfully sent start control to service WdiServiceHost, user S-1-5-19 07/06/17-13:05:44.3231928 [SCM] Successfully sent start control to service NcaSvc, user S-1-5-18 07/06/17-13:05:44.7769902 [SCM] Successfully sent start control to service sppsvc, user S-1-5-20 07/06/17-13:05:45.1100675 [SCM] Successfully sent start control to service wisvc, user S-1-5-18 07/06/17-13:05:45.2169191 [SCM] Successfully sent start control to service wuauserv, user S-1-5-18 07/06/17-13:05:45.2169410 [SCM] Successfully sent start control to service fhsvc, user S-1-5-18 07/06/17-13:05:45.6471780 [SCM] Successfully sent start control to service NcaSvc, user S-1-5-18 07/06/17-13:05:47.3489415 [SCM] Successfully sent start control to service WdNisSvc, user S-1-5-18 07/06/17-13:05:49.4258072 [SCM] Successfully sent start control to service CDPSvc, user S-1-5-18 07/06/17-13:05:50.9283667 [SCM] Successfully sent start control to service WSearch, user S-1-5-18 07/06/17-13:05:51.0034313 [SCM] Successfully sent start control to service wlidsvc, user S-1-5-18 07/06/17-13:05:51.1906412 [SCM] Successfully sent start control to service KeyIso, user S-1-5-18 07/06/17-13:05:52.5810658 [SCM] Successfully sent start control to service Appinfo, user S-1-5-18