我在 Windows Server 2019 上的 Websphere Liberty 中建立了一個伺服器,並為其註冊了一個服務。當我啟動服務時,狀態變更為跑步,但幾秒鐘後狀態消失(即服務停止)。然而,與服務綁定的伺服器實際上是在背景運行的。
Liberty 伺服器按預期運行,並且可以透過命令列停止,沒有任何問題,唯一的問題是 services.msc 中服務的狀態顯示不正確。這讓我相信 Liberty (Prunsrv.exe) 隨附的服務包裝器與 Windows Server 2019 不相容,因為我在 Windows Server 2008/2012/2106 上沒有遇到此問題。
是否需要執行任何特定操作才能使其在 Windows Server 2019 上執行?任何建議/觀點將不勝感激。
謝謝,羅南
答案1
我遇到了同樣的問題。我嘗試了不同的服務包裝器,NSSM 和 WinSW。經過一番嘗試和錯誤後,我注意到該服務將在大約 39 秒後停止在我的系統上運行。我從命令視窗執行了相同的命令 server.bat start yourServer。我注意到從開始到批次檔完成並返回到命令提示字元的時間約為 39 秒。
WinSW 記錄到事件檢視器。我檢查了訊息並注意到 WinSW 記錄了該過程已成功完成,退出代碼為 0。
所以我改變了伺服器啟動和運行的方式。我將命令從 server.bat start yourServer 更改為 server.bat run yourServer。這有效。我現在可以啟動和停止伺服器。
就我而言,我使用的是 WinSW。必須為 WinSW 配置 XML 檔案。我使用帶有啟動參數的 server.bat 來運行,並使用 yourServer 來啟動服務。我使用 stop 和 yourServer 的停止參數來停止服務。
WinSW 文件可以幫助您繼續前進。
我不知道您的具體情況,因此無法提供使用您的配置的範例。