我有一种情况,在不同服务器上的
Windows服务启动之前,不应启动一台服务器上的Windows服务.我想要做的是设置服务依赖性,但标准的“sc< service1> depend = service2”似乎不适合这一点.
我可以将服务代码包装在TryUntilSuccesful()类型的调用中,但我想知道是否有一种建议的方法来为同一域中的服务器之间的Windows服务设置依赖关系.
同一台计算机上的Windows服务之间的依赖关系由服务控制管理器(SCM)管理.如果您的服务依赖于其他计算机上的服务,则SCM无法/不会帮助您.
原文链接:https://www.f2er.com/windows/366593.html因此,您必须获得自己运行的一些代码,以便以某种方式监视远程服务是否正在运行,并且为了使代码运行,您必须允许您的服务以依赖关系开始或不开始.
在不知道服务目的的情况下很难规定详细的解决方案,但原则上你可能需要你的服务有两种操作模式:一种除了以某种方式监视它是否正在运行它所依赖的远程服务之外什么都不做;而另一个它执行其全部功能以及继续监视依赖性.
最后一点至关重要 – 在任何情况下,您都必须持续监控依赖关系,而不仅仅是在服务启动时,因为与单机情况不同,远程计算机上的SCM不会阻止远程服务停止,因为它对你对它的依赖一无所知.