Я создал сервер в Websphere Liberty на Windows Server 2019 и зарегистрировал для него службу. Когда я запускаю службу, статус меняется наБег, но через несколько секунд статус исчезает (т.е. служба останавливается). Однако сервер, связанный со службой, на самом деле работает в фоновом режиме.
Liberty Server функционирует как и ожидалось и может быть остановлен через командную строку без каких-либо проблем, единственная проблема заключается в том, что статус службы отображается неправильно в 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. XML-файл должен быть настроен для WinSW. Я использовал server.bat с аргументами запуска для run и yourServer для запуска службы. Я использовал аргументы остановки stop и yourServer для остановки службы.
Документация WinSW вполне поможет вам приступить к работе.
Я не знаю вашей конкретной ситуации, поэтому не могу предоставить примеры с использованием вашей конфигурации.