![Ejecutar Java jar en una máquina remota en modo Fire y olvidar](https://rvso.com/image/1586955/Ejecutar%20Java%20jar%20en%20una%20m%C3%A1quina%20remota%20en%20modo%20Fire%20y%20olvidar.png)
Quiero ejecutar mi jar de Java en una máquina remota estableciendo una conexión SSH. Puedo ejecutar jar pero no puedo cerrar la sesión SSH hasta que presione CTRLC.
A continuación se muestra mi archivo por lotes para ejecutar el jar. El nombre del archivo por lotes es Run_service.bat
@ECHO off java.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar & exit
Intentando ejecutar el jar desde la sesión SSH usando el siguiente comando
ssh -v -o StrictHostKeyChecking=no -l userid IP "D:/Scripts/Run_Service.bat"
entonces establecí una sesión ssh y puedo ejecutar el archivo jar en la sesión.
El servicio comenzó en puerto.
Pero una vez que comenzó el servicio, tengo que cerrar la sesión ssh pero no se cierra hasta que presiono CTRLC. A continuación se muestra la imagen del mismo servicio iniciado en la sesión ssh. Intenté muchas cosas pero nada funcionó. Por favor ayúdenme a encontrar una manera de hacer lo mismo.
Respuesta1
Prueba esto :
@ECHO off START /B javaw.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar exit
Respuesta2
No hay almuerzo gratis; Si desea ejecutar una aplicación como servicio, tendrá que instalar la aplicación como servicio. De esa manera, si se reinicia el sistema operativo, la aplicación volverá sin intervención humana. También le permite desconectarse del servidor SSH y hacer que el proceso continúe ejecutándose. (También puedes intentarlo cmd /c javaw.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar
, pero si el proceso muere, no volverá)
Para arranque de primavera, consulte elServicios de Windowssección de la referencia, que le indicaganar, y unejemplo mantenido por separadopara describir cómo unirlo todo