Linux : Automatiser le lancement d'un processus lors du démarrage
Sous Centos
Ajout du service au démarrage
Pour signaler à CentOS qu'un script doit se lancer au démarrage par chkconfig il faut lancer la commande suivante:
chkconfig --add <nom du service>
Ensuite, il faut définir les niveaux d'exécution dans lesquels le processus doit être en marche dans notre cas, nous avons choisi, les niveaux 2, 3, 4 et 5 :
$ chkconfig --level 2345 <nom du service> on
Note : Les runlevel portent des numéros, bien que cela soit totalement arbitraire et n’impliquent pas de notion d’ordre. 3 niveaux sont clairement définis:
0 : arrêt de la machine 1 : mode mono utilisateur (en général sans réseau) 6 : reboot de la machine
Les niveaux 2 à 5 sont laissés à la discrétion des distributions. Pour Debian ils sont tous identiques, 2 étant le niveau par défaut. Sous Redhat/CentOS, seuls le 3 (sans interface graphique) et le 5 (avec interface graphique) sont définis, celui par défaut étant le 5.
Suppression du service au démarrage
Pour complètement supprimer le lancement du service au démarrage d’Ubuntu, taper la commande suivante dans un shell:
$ chkconfig --del ip6tables
Parfois, on peut ne pas vouloir supprimer tout le service mais simplement désactiver le lancement su service dans un niveau particulier.
Par exemple pour désactiver le service dans le niveau 5 :
$ chkconfig --level 5 nfsserver off
Sous Debian
Ajout du service au démarrage
Pour ajouter le lancement du service au démarrage d’Ubuntu, taper la commande suivante dans un shell:
$ sudo update-rc.d <nom du service> defaults
Suppression du service au démarrage
Pour supprimer le lancement du service au démarrage d’Ubuntu, taper la commande suivante dans un shell:
$ sudo update-rc.d remove <nom du service>