A veces requerimos crear unos servicios en Linux para que
nuestro script o aplicación se inicialice de forma automática con el sistema.
Esto se puede lograr de varias formas, pero creo que esta es una de las mejores opciones, porque tenemos la facilidad de parar, iniciar y reiniciar el servicio, además de que si algo falla y el servicio se para, automáticamente volverá a iniciar.
Creación del servicio
1. Se va a crear un archivo con el nombre de nuestro servicio, seguido de un ¨.service¨ en la ruta /etc/systemd/system/
sudo nano /etc/systemd/system/nombre-del-servicio.service
En este punto, estaremos dentro del archivo ¨nombre-del-servicio.service¨ con permisos de administrador.
2. Agregaremos el sigiente código en este archivo.
[Unit]
Description=Packready App Dev Version
After=syslog.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /ruta/a/tu/script.sh
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
En mi caso, la ruta de mi aplicación está en mi home, por lo que mi ruta es más o menos así:
/home/usrlx/apps/tecnet.jar
3. Se reinicia el demonio, se habilita el servicio y finalmente se le da inicio al servicio, esto en teoría sólo se hace una vez. A menos de que haya un cambio los nombres o configuración del servicio.
sudo systemctl daemon-reload
sudo systemctl enable nombre-del-servicio.service
sudo systemctl start nombre-del-servicio.service
4. Verificamos que el servicio esté funcionando.
sudo systemctl status nombre-del-servicio.service
5. Los siguientes comandos son de control, para poder iniciar, para y reiniciar el servicio.
sudo systemctl start nombre-del-servicio.service
sudo systemctl stop nombre-del-servicio.service
sudo systemctl restart nombre-del-servicio.service
sudo systemctl status nombre-del-servicio.service
Conclusión
Los servicios son algo imprescindible si necesitas tener un contorl en tus servicios y de esta forma tienes un acceso más rápido al uso de comandos para poder manejarlos.