ver segundo procesos proceso plano pasar lanzar ejecutar detener correr comandos shell unix executable-jar

shell - procesos - pasar proceso a segundo plano linux



Ejecute el archivo java jar en un servidor como proceso en segundo plano (3)

Puedes intentar esto:

#!/bin/sh nohup java -jar /web/server.jar &

El símbolo &, cambia el programa para que se ejecute en segundo plano.

La utilidad nohup hace que el comando pase como un argumento ejecutado en segundo plano incluso después de cerrar la sesión.

Necesito ejecutar un java jar en el servidor para poder comunicarme entre dos aplicaciones. He escrito dos scripts de shell para ejecutarlo, pero una vez que inicie ese script, no puedo cerrar / finalizar el proceso. Si presiono ctrl + C o cierro la consola, el servidor se apagará. ¿Alguien podría ayudarme a modificar esta secuencia de comandos para que se ejecute como un servidor normal?

#!/bin/sh java -jar /web/server.jar echo $! #> startupApp.pid


Si está usando Ubuntu y tiene "Upstart" (http://upstart.ubuntu.com/).puede probar esto:

Crea /var/init/yourservice.conf

con el siguiente contenido

description "Your Java Service" author "You" start on runlevel [3] stop on shutdown expect fork script cd /web java -jar server.jar >/var/log/yourservice.log 2>&1 emit yourservice_running end script

Ahora puede service yourservice start el service yourservice start y realizar el service yourservice stop comandos de service yourservice stop . Puede /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:

java -jar /web/server.jar > /var/log/yourservice.log 2>&1


Systemd que ahora se ejecuta en la mayoría de las distribuciones

Paso 1:

Encuentre sus servicios definidos por el usuario la mina estaba en /usr/lib/systemd/system/

Paso 2:

Cree un archivo de texto con su nombre de editor de texto favorito it whatever_you_want.service

Paso 3:

Coloque la siguiente plantilla en el archivo whatever_you_want.service

[Unit] Description=webserver Daemon [Service] ExecStart=/usr/bin/java -jar /web/server.jar User=user [Install] WantedBy=multi-user.target

Etapa 4:

Ejecute su servicio
como super usuario

$ systemctl start whatever_you_want.service # starts the service $ systemctl enable whatever_you_want.service # auto starts the service $ systemctl disable whatever_you_want.service # stops autostart $ systemctl stop whatever_you_want.service # stops the service $ systemctl restart whatever_you_want.service # restarts the service