Voici l'extrait de http://www.debian-administration.org/articles/28 qui semble répondre à votre question.
Remarque: Dans l'exemple de script ci-dessous, ajoutez simplement un appel à la start)
section " " pour lancer réellement votre programme. Vous pouvez tester la fonctionnalité du script sans redémarrer le système: appelez-le avec le chemin complet et en lui donnant un paramètre de " start
" ou " stop
"
Voici:
Debian utilise un système d'initialisation de type Sys-V pour exécuter des commandes lorsque le niveau d'exécution du système change - par exemple au démarrage et à l'arrêt.
Si vous souhaitez ajouter un nouveau service à démarrer au démarrage de la machine, vous devez ajouter le script nécessaire au répertoire /etc/init.d/
. De nombreux scripts déjà présents dans ce répertoire vous donneront un exemple du genre de choses que vous pouvez faire.
Voici un script très simple qui est divisé en deux parties, du code qui s'exécute toujours et du code qui s'exécute lorsqu'il est appelé avec "start" ou "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
Une fois que vous avez enregistré votre fichier à l'emplacement correct, assurez-vous qu'il est exécutable en exécutant " chmod 755 /etc/init.d/blah
".
Ensuite, vous devez ajouter les liens symboliques appropriés pour que le script soit exécuté lorsque le système tombe en panne ou monte.
La façon la plus simple de le faire est d'utiliser la commande spécifique à 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-daemon
gère mieux (bien qu'il soit préférable que le programme lui-même démonifie). Quelle distro utilisez-vous? En dehors des types MIME de bureau, les extensions de fichier n'ont aucun sens dans * nix et il est préférable que les exécutables n'en aient pas.