无法将 golang 可执行文件作为 Windows 服务启动

无法将 golang 可执行文件作为 Windows 服务启动

我想在我的 Windows Server Build 1803 上启动一个用 Golang 编写的 Windows 服务。Golang 脚本使用此处的服务包装器:https://github.com/kardianos/service

该服务位于C:\Program Files\Monitoring\monitor.exe

将监控二进制文件部署到上述位置后,我创建了服务:

New-Service -Name "winmon" -BinaryPathName 'C:\Program Files\Monitoring\monitor.exe' -DisplayName "Prometheus Docker monitoring" -Description "Prometheus Docker monitoring" -StartupType Automatic

但无论如何,服务器上的服务启动失败了。我指定LocalSystem为 LogOn 用户以及自定义 CI 用户,后者是管理员组的成员。LocalSystem服务管理器将响应The operation on winmon failed with exit code: 1067.,描述为Process terminates unexpectedly。使用自定义 CI 用户,我得到了Error Code returned: 15,描述为 无效驱动器。

在我的本地计算机上以管理员身份运行 Powershell 测试上述指令,一切正常。即使我将登录用户切换为LocalSystem,一切仍运行顺利。

我该如何解决 Windows 服务器上的问题?

相关内容