Comment lancer ou arrêter un script au démarrage de Linux ?

Gérer les processus qui se lancent au démarrage de Linux.

Testé sous Debian Squeeze.

Le processus init de Linux dispose généralement de 7 niveaux de fonctionnement (runlevel) : de 0 à 6. Selon le niveau de fonctionnement, des programmes sont automatiquement lancés. Si vous voulez faire démarrer un programme avec Linux il vous faudra donc deux choses :

  • Placer le programme à lancer dans /etc/init.d et veiller à ce qu'il soit exécutable : chmod 755
  • Créer un lien symbolique vers ce programme dans /etc/rcX.d, X étant le runlevel.

Connaître son runlevel

runlevel # Réponse: N 2 # ou who -r # Réponse: niveau d'exécution 2 2012-08-15 16:20 dernier=S

Evidemment, une commande existe pour que vous n'ayez pas à créer manuellement 7 liens symboliques.

Ajouter un programme au démarrage de Linux

# defaults est une configuration, # man update-rc.d vous en dira plus. update-rc.d nom_programme defaults

Pour ne plus lancer ce programme au démarrage, il suffit de supprimer les liens symboliques.

Ne pas lancer un programme au démarrage de Linux

update-rc.d -f nom_programme remove

Vous pouvez aussi très simplement vous servir de cron pour lancer une commande au démarrage.

Lancer une commande au démarrage avec cron

@reboot votre_commande