Pour la station météo, certains programmes doivent fonctionner en tache de fond. Pour cela on utilise des démons.
Dans mon exemple j’ai un script Python à lancer. Ce script est capable de fonctionner en mode autonome mais je souhaite l’intégrer au système. Mon service s’appelle « launcher ».
#!/bin/sh
### BEGIN INIT INFO
# Provides: launcher
# Required-Start: $remote_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run weathergh
# Description: Run weatherg-hardware as daemon.
### END INIT INFO
. /lib/lsb/init-functions
[ -f /etc/default/rcS ] && . /etc/default/rcS
PATH=/bin:/usr/bin:/sbin:/usr/sbin
SCRIPT_DIR=/home/rep/
SCRIPT=script_a_lancer.py
case "$1" in
start)
log_begin_msg "Running launcher"
cd $SCRIPT_DIR
python $SCRIPT --daemon
log_end_msg 0
;;
stop)
log_begin_msg "Stopping launcher"
cd $SCRIPT_DIR
python $SCRIPT --quit
log_end_msg 0
;;
force-reload|restart)
$0 stop
$0 start
;;
status)
exit 0
;;
*)
log_success_msg "Usage: /etc/init.d/launcher {start|stop|restart|force-reload|status}"
exit 1
esac
exit 0
Copier le script launcher dans le répertoire /etc/init.d/ et donner les droits d’exécution chmod +x /etc/init.d/launcher
Enregistrer le service et le démarrer :
update-rc.d launcher defaults services start launcher
Sources :
https://openclassrooms.com/courses/faire-un-demon-sous-linux


