Prunsrv.exe によって作成された Liberty サービスが Windows Server 2019 で自動的に停止する

Prunsrv.exe によって作成された Liberty サービスが Windows Server 2019 で自動的に停止する

Windows Server 2019のWebsphere Libertyでサーバーを作成し、サービスも登録しました。サービスを開始すると、ステータスが次のように変わります。ランニング、しかし数秒後にステータスは消えます(つまり、サービスが停止します)。ただし、サービスにバインドされたサーバーは実際にはバックグラウンドで実行されています。

Liberty Server は期待どおりに機能し、コマンド ラインから問題なく停止できますが、唯一の問題は、services.msc でサービスのステータスが誤って表示されることです。Windows Server 2008/2012/2106 ではこの問題は発生しなかったため、Liberty に同梱されているサービス ラッパー (Prunsrv.exe) は Windows Server 2019 と互換性がないと考えられます。

Windows Server 2019 で動作させるために何か特別なことを行う必要がありますか? ご提案やご指摘をいただければ幸いです。

ありがとう、ロナン

答え1

私も同じ問題を経験しました。NSSM と WinSW という異なるサービス ラッパーを試しました。試行錯誤した結果、約 39 秒後にサービスがシステム上で実行されなくなることに気付きました。コマンド ウィンドウから同じコマンド server.bat start yourServer を実行しました。開始からバッチ ファイルが完了してコマンド プロンプトに戻るまでの時間は約 39 秒でした。

WinSW はイベント ビューアーにログを記録します。メッセージを確認すると、プロセスが終了コード 0 で正常に完了したことが WinSW に記録されていることに気付きました。

そこで、サーバーの起動と実行の方法を変更しました。コマンドを server.bat start yourServer から server.bat run yourServer に変更しました。これでうまくいきました。これで、サーバーを起動および停止できるようになりました。

私の場合は、WinSW を使用しています。WinSW 用に XML ファイルを構成する必要があります。サービスを開始するには、run と yourServer の開始引数を指定した server.bat を使用しました。サービスを停止するには、stop と yourServer の停止引数を使用しました。

WinSW のドキュメントは、作業を開始するのに十分です。

正確な状況がわからないため、お客様の設定を使用した例を提供することはできません。

関連情報