Démarrer un programme en tâche de fond
#!/bin/sh
# Start/stop PROGRAMME :
test -f PROGRAMME || exit 0
. /lib/lsb/init-functions
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "$1" in
start) log_daemon_msg "Lancement de PROGRAMME" "PROGRAMME"
start-stop-daemon -b --start --exec PROGRAMME
log_end_msg $?
;;
stop) log_daemon_msg "Arret de PROGRAMME" "PROGRAMME"
start-stop-daemon --stop --name PROGRAMME
log_end_msg $?
;;
restart) log_daemon_msg "Relance de PROGRAMME" "PROGRAMME"
start-stop-daemon --stop --name PROGRAMME
start-stop-daemon -b --start --exec PROGRAMME
log_end_msg $?
;;
*)
echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
exit 0
Pour que l'arrêt fonctionne, il faut que le nom du programme dans la ligne d'arrêt soit celui écrit dans cat /proc/PID/stat, en deuxième colonne, entre parenthèses. Il ne fait que 15 caractères.