我编写了一个服务,当它出现任何问题时都会记录到 Windows 事件日志中。它工作正常,服务名称正确显示在事件查看器的“源”列中。我看到的问题是当我的服务遇到一些重大问题时,例如网络层已死等。当发生这种情况时,事件日志会显示有关我的服务的错误,但服务名称显示为截断的 8 个字符名称。这个名称看起来是可执行文件的名称,而不是服务名称。显示截断的名称是正常行为吗?
答案1
XP 中的服务有两个名称,一个是打开服务 MMC 时看到的长而友好的“显示”名称,或者NET START
在命令行中键入“ ”,另一个是内部使用的较短的“服务名称”。
如果您打开服务 MMC(从控制面板 -> 管理工具 -> 服务),然后双击一个具有长名称的服务,您应该会在窗口顶部看到“服务名称”,它通常是“显示名称”的较短版本,对脚本/命令行更加友好。
例如,打字net start RDSessMgr
比net start "Remote Desktop Help Session Manager"
听起来您的应用程序正在将其服务名称而不是显示名称回显到日志中。
答案2
您使用的是哪个版本的 Windows?我发现在 Windows 2000 任务管理器下,进程名称被限制为一定数量的字符 - 事件查看器可能存在同样的问题。不过 XP 似乎取消了这一限制。