Windows services 如何在同一域中不同服务器上的windows服务之间建立依赖关系

Windows services 如何在同一域中不同服务器上的windows服务之间建立依赖关系,windows-services,dependencies,Windows Services,Dependencies,我遇到这样一种情况,一台服务器上的windows服务在另一台服务器上的windows服务启动之前不应启动。我想做的是设置服务依赖项,但是标准的“sc dependent=service2”似乎不能满足这一要求 我可以将服务代码包装为TryUntilSuccesful()类调用,但我想知道是否有推荐的方法可以跨同一域中的服务器设置windows服务的依赖关系。同一台计算机上的windows服务之间的依赖关系由服务控制管理器(SCM)管理。如果您的服务依赖于另一台机器上的服务,则SCM无法/不会帮助

我遇到这样一种情况,一台服务器上的windows服务在另一台服务器上的windows服务启动之前不应启动。我想做的是设置服务依赖项,但是标准的
“sc dependent=service2”
似乎不能满足这一要求


我可以将服务代码包装为TryUntilSuccesful()类调用,但我想知道是否有推荐的方法可以跨同一域中的服务器设置windows服务的依赖关系。

同一台计算机上的windows服务之间的依赖关系由服务控制管理器(SCM)管理。如果您的服务依赖于另一台机器上的服务,则SCM无法/不会帮助您

因此,您必须运行自己的一些代码,以便以某种方式监视远程服务是否正在运行,并且要运行这些代码,您必须允许您的服务在有依赖关系或没有依赖关系的情况下启动

在不知道服务目的的情况下,很难制定详细的解决方案,但原则上,您可能需要您的服务具有两种操作模式:一种是它不做任何事情,只以某种方式监视它所依赖的远程服务是否正在运行;另一个是,它执行其全部功能,并继续监视依赖关系


最后一点至关重要-在任何情况下,您都必须持续监控依赖关系,而不仅仅是在服务启动时,因为与单机情况不同,远程机器上的SCM不会阻止远程服务停止,因为它不知道你对它的依赖。

谢谢你的回复,我想可能就是这样。