Windows 服务依赖关系有什么意义?

Windows 服务依赖关系有什么意义?

我创建了一个计算机程序,并将其安装为 Windows 服务,并添加了对另一个 Windows 服务“KEPServerEX 6.9 Runtime”的依赖项,如您从此屏幕截图中所见:

在此处输入图片描述

我已经用不同的方法测试了这种依赖性:

  1. 我已经重新启动了计算机,并尝试验证“KEPServerEX 6.9 Runtime”是否比我的程序更早启动。
  2. 我已经停止了“KEPServerEX 6.9 Runtime”,并且我希望我的程序也停止。

以下是我的结果:

  1. 不知道:当我的程序启动时,事件日志中会创建条目。“KEPServerEX 6.9 Runtime”不是这种情况,“KEP...”也不会创建日志,所以我不知道这个测试在哪里成功或失败。
  2. 我的程序没有停止。

即使我设法证明我的程序仅在重新启动计算机时在“KEPServerEX 6.9 Runtime”之后启动,我仍然想知道(参见第 2 点)Windows 服务依赖关系的意义是什么。

我在 Windows-10 计算机上工作,而我的客户正在使用 Windows Server 2016。我希望答案对这两种操作系统都有效。

供您参考:“KEPServerEX 6.9 Runtime”是一个商业工具,我无法修改它。

答案1

来自微软 sc.exe 配置

依赖=<dependencies>

指定必须在此服务之前启动的服务或组的名称。名称以正斜杠 (/) 分隔。

这是依赖关系的唯一原因——为 Windows 启动过程带来一些秩序。

启动后,依赖项不起作用,除非重新启动依赖服务。

相关内容