Ecco l'estratto di http://www.debian-administration.org/articles/28 che sembra rispondere alla tua domanda.
Nota: nello script di esempio riportato di seguito è sufficiente aggiungere una chiamata alla sezione " start)" per avviare effettivamente il programma. Puoi testare la funzionalità dello script senza riavviare il sistema: chiamalo con il percorso completo e assegnandogli un parametro di " start" o " stop"
Ecco qui:
Debian usa un sistema Sys-V come init per eseguire comandi quando cambia il runlevel del sistema, ad esempio all'avvio e all'arresto.
Se si desidera aggiungere un nuovo servizio per l'avvio all'avvio della macchina, è necessario aggiungere lo script necessario alla directory /etc/init.d/. Molti degli script già presenti in quella directory ti daranno un esempio del tipo di cose che puoi fare.
Ecco uno script molto semplice che è diviso in due parti, il codice che viene sempre eseguito e il codice che viene eseguito quando viene chiamato con "start" o "stop".
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
Dopo aver salvato il file nella posizione corretta, assicurati che sia eseguibile eseguendo " chmod 755 /etc/init.d/blah".
Quindi è necessario aggiungere i collegamenti simbolici appropriati per fare in modo che lo script venga eseguito quando il sistema si arresta o si alza.
Il modo più semplice per farlo è usare il comando specifico di Debian update-rc.d:
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah
start-stop-daemongestisce meglio (anche se preferisce il demonizzazione del programma stesso). Quale distro stai usando? Al di fuori dei tipi MIME desktop, le estensioni dei file sono prive di significato in * nix e si preferisce che gli eseguibili non ne abbiano uno.