![启动/停止 Windows 服务 A 同时启动/停止 Windows 服务 B](https://linux22.com/image/568531/%E5%90%AF%E5%8A%A8%2F%E5%81%9C%E6%AD%A2%20Windows%20%E6%9C%8D%E5%8A%A1%20A%20%E5%90%8C%E6%97%B6%E5%90%AF%E5%8A%A8%2F%E5%81%9C%E6%AD%A2%20Windows%20%E6%9C%8D%E5%8A%A1%20B.png)
我创建了两个 Windows 服务 A 和 B,并想在它们之间添加依赖关系,以便我可以:
启动服务A(服务B自动启动)
停止服务A(服务B自动停止)
但是该命令sc config ServiceA depend= ServiceB
仅适用于:
启动服务A(服务B自动启动)
停止服务B(服务A自动停止)
有什么方法可以让服务 B 在停止服务 A 时自动停止?
答案1
依赖关系确实只能以停止服务的方式起作用乙将停止服务A。如果这不是您想要的,那么依赖项不适合您,您需要内置服务控制机制之外的某些东西来完成这项工作。使用 WMI 订阅服务停止命令触发的事件编写一些脚本来检查并停止其他服务应该可以解决问题。
答案2
如果 A 依赖于 B,那么就意味着 A 需要 B 的运行,因此 - 如果启动 A,它将自动首先启动 B - 如果停止 B,则 A 将首先停止
如果您停止 A,则 B 没有理由停止 - 如果您有权访问服务 A 的源代码,您可以让它在自身停止时以编程方式停止 B。