El servicio Liberty creado por Prunsrv.exe se detiene automáticamente en Windows Server 2019

El servicio Liberty creado por Prunsrv.exe se detiene automáticamente en Windows Server 2019

Creé un servidor en Websphere Liberty en Windows Server 2019 y también registré un servicio para él. Cuando inicio el servicio, el estado cambia aCorrer, pero después de unos segundos el estado desaparece (es decir, el servicio se detiene). Sin embargo, el servidor vinculado al servicio en realidad se ejecuta en segundo plano.

Liberty Server funciona como se esperaba y se puede detener a través de la línea de comandos sin ningún problema, el único problema es que el estado del servicio se muestra incorrectamente en services.msc. Esto me lleva a creer que el contenedor de servicios incluido con Liberty (Prunsrv.exe) no es compatible con Windows Server 2019, ya que no había enfrentado este problema en Windows Server 2008/2012/2106.

¿Hay algo específico que deba hacerse para que funcione en Windows Server 2019? Cualquier sugerencia/punto será muy apreciada.

Gracias, Ronan

Respuesta1

Experimenté el mismo problema. Probé diferentes contenedores de servicios, NSSM y WinSW. Después de algunas pruebas y errores, noté que el servicio dejaría de ejecutarse en mi sistema después de aproximadamente 39 segundos. Realicé el mismo comando, server.bat start yourServer, desde la ventana de comandos. Noté que el tiempo desde el inicio hasta el momento en que el archivo por lotes se completa y regresa al símbolo del sistema fue de aproximadamente 39 segundos.

WinSW registra en el visor de eventos. Revisé los mensajes y noté que WinSW registró que el proceso se completó exitosamente con un código de salida de 0.

Entonces cambié la forma en que se inicia y ejecuta el servidor. Cambié el comando de server.bat start yourServer a server.bat run yourServer. Esto funcionó. Ahora puedo iniciar y detener el servidor.

En mi caso estoy usando WinSW. Se debe configurar un archivo XML para WinSW. Utilicé server.bat con argumentos iniciales para ejecutar y yourServer para iniciar el servicio. Utilicé los argumentos stop de stop y yourServer para detener el servicio.

La documentación de WinSW le ayudará a empezar.

No conozco su situación exacta, por lo que no puedo proporcionar ejemplos utilizando su configuración.

información relacionada