Pour démarrer un programme en tâche de fond au démarrage de la machine, on peut écrire un lanceur comme celui-ci :
#!/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.