Necesito ejecutar un jar de Java en el servidor para comunicarme entre dos aplicaciones. He escrito dos scripts de shell para ejecutarlo, pero una vez que inicio ese script, no puedo cerrar / terminar el proceso. Si presiono ctrl+ Co cierro la consola, el servidor se apagará. ¿Alguien podría ayudarme a modificar este script para que se ejecute como un servidor normal?
#!/bin/sh
java -jar /web/server.jar
echo $!
#> startupApp.pid
shell
unix
executable-jar
Bernad Ali
fuente
fuente
nohup
siempre debe combinarse con la redirección de stdout y stderr explícitamente; de lo contrario, no obtendrá control de dónde van los registros y terminará con un feonohup.out
creado en cualquier directorio desde el que se invoque este script.Systemd que ahora se ejecuta en la mayoría de distribuciones
Paso 1:
Encuentra tus servicios definidos por el usuario en los que estaba el mío
/usr/lib/systemd/system/
Paso 2:
Cree un archivo de texto con su nombre de editor de texto favorito
whatever_you_want.service
Paso 3:
Ponga la siguiente plantilla en el archivo
whatever_you_want.service
Paso 4:
Ejecute su servicio
como superusuario
fuente
Si está usando Ubuntu y tiene "Upstart" ( http://upstart.ubuntu.com/ ) puede probar esto:
Crear
/var/init/yourservice.conf
con el siguiente contenido
Ahora puede emitir los comandos
service yourservice start
yservice yourservice stop
. Puede seguir/var/log/yourservice.log
para verificar que está funcionando.Si solo desea ejecutar su jar desde la consola sin que acapare la ventana de la consola, puede hacer lo siguiente:
fuente
java -jar /web/server.jar > /var/log/yourservice.log 2>&1 &
Ejecute en segundo plano y agregue registros al archivo de registro utilizando lo siguiente:
fuente