dto2 - Debian-logo

Ejecute una aplicación Java como servicio en Linux

Debian Informática Ubuntu

En muchas ocasiones he creado aplicaciones javas que he necesitado ejecutarlas como servicios en Debian o Ubuntu, bueno a continuación les muestro como solucionar este problema


Creas dentro de la carpeta donde pongas tu aplicación un archivo con lo siguiente, escogeremos como referencia la carpeta /opt/appEjemplo
#!/bin/sh
SERVICE_NAME=APPEjemplo
PATH_APP=/opt/appejemplo
PATH_TO_JAR=/opt/ appejemplo / appejemplo.jar
PID_PATH_NAME=/tmp/ appejemplo-pid
case $1 in
start)
echo "Iniciando $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
cd $PATH_APP
nohup java -Xmx128M -jar $PATH_TO_JAR > log.txt 2> errors.txt < /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME iniciado ..."
else
echo "$SERVICE_NAME ya esta corriendo ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME deteniendoce ..."
kill $PID;
echo "$SERVICE_NAME detenido ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME no esta corriendo ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME deteniendo ...";
kill $PID;
echo "$SERVICE_NAME detenido ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME iniciando ..."
cd $PATH_APP
nohup java -Xmx128M -jar $PATH_TO_JAR > log.txt 2> errors.txt < /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME iniciado ..."
else
echo "$SERVICE_NAME no esta corriendo ..."
fi
;;
esac


Luego le damos permisos de ejecución a nuestro archivo appejemplo.sh
chmod +x /opt/appejemplo/appejemplo.sh
Luego creamos un enlace simbólico de nuestro archivo en /etc/ini.d
ln -s /opt/appejemplo/eppejemplo.sh /etc/init.d/appejemplo
Luego nos aseguramos que el script se ejecute cada vez que inicie Linux de la siguiente forma
update-rc.d appajemplo defaults 100
De esta forma logramos que nuestra app se ejecute siempre que iniciemos nuestro sistema operativo

Carlos
Me gustan las tecnologías, la inclusion en nuevos temas, el analisis y desarrollo de aplicaciones informáticas. Intento conocer dto2 un poco y usarlo a favor de todos

Deja una respuesta

Tu dirección de correo electrónico no será publicada.