【发布时间】:2019-04-10 23:57:02
【问题描述】:
关键服务ServiceB、ServiceC和ServiceD必须在非关键ServiceA之后启动(ServiceA监控B、C和D,但对操作并不关键)。
如果启动 ServiceA 有任何问题,我们仍然需要启动 B、C 和 D。否则我们总是希望首先启动 ServiceA。如果 A 崩溃(在运行期间停止),我们不希望停止 B、C 或 D
所有服务都设置为自动启动。 (我们不能对B、C和D使用延迟启动,因为时间不合适,我们不想更改其他延迟服务的默认2分钟)
已在服务 B、C 和 D 上设置了依赖关系,因此如果必要的服务未运行,它们将始终启动必要的服务。如果 ServiceA 停止,这些将停止。
设置依赖的命令如下:
sc config ServiceB depend= ServiceA
我们正在探索系统的恢复选项,该选项将启动 B、C 和 D,无论 A 在多次尝试后是否无法启动。
如果无法通过 SC.exe 或通过配置 Windows 10 进行配置,那么我们可以恢复使用启动脚本或自定义服务控制应用程序,因为我都已经构建了,但更喜欢这种更简洁的配置选项操作系统。
是否可以为服务组配置不同的延迟启动等待值?
任何建议或编辑表示赞赏。 TIA
【问题讨论】:
-
请注意,我认为这更像是一个 Windows 操作系统问题,但我目前正在开发一个 VBScript 解决方案来实现,如果上述情况不可行,我将发布该解决方案。它还需要以编程方式完成以实现自动化。
-
怎么知道A有没有被绞死?它可能看起来仍在运行
-
我不知道,但监视仪表板的人会收到警报并打开票证进行调查。 A 是第三方,但 B、C 和 D 是我们自己的,所以我们不想影响我们自己的系统来适应。下面的 VBScript 答案比预期的处理得更好,但我确实必须提升以允许对第三方服务进行适当的服务控制。
-
另一种选择是联系 A 的开发人员,看看他们是否可以在运行时连接到我们的服务,而不是需要对它们进行排序,但这可能不可行。
标签: windows