web-dev-qa-db-fra.com

Exécuter automatiquement le programme au démarrage sous Linux Ubuntu

Duplicate possible:
équivalent Linux pour le démarrage de Windows

J'aurais besoin d'un programme à exécuter chaque fois que je démarre mon Linux Ubuntu. Je devrais donc l'ajouter à ma liste de programmes de démarrage. Juste un problème: je devrais le faire via un terminal.

141
Matteo Monti
Sudo mv /filename /etc/init.d/
Sudo chmod +x /etc/init.d/filename 
Sudo update-rc.d filename defaults 

Le script devrait maintenant démarrer au démarrage. Notez que cette méthode fonctionne également avec les liens durs et les liens symboliques (ln).

Modifier

À ce stade du processus de démarrage, PATH n'est pas encore défini. Il est donc essentiel d'utiliser des chemins absolus. MAIS, comme indiqué dans les commentaires de Steve HHH, la déclaration explicite du chemin de fichier complet (/etc/init.d/filename) de la commande update-rc.d n’est pas valide dans la plupart des versions de Linux. Selon la page de manuel de update-rc.d , le deuxième paramètre est un script situé dans /etc/init.d/*. Mise à jour du code ci-dessus pour refléter cela.

Une autre édition

De plus, comme indiqué dans les commentaires (par Charles Brandt), /filename doit être un script de style init. Un bon modèle a également été fourni - https://github.com/fhd/init-script-template .

Un autre lien vers un autre article, juste pour éviter une éventuelle pourriture du lien (bien que ce soit triste si GitHub décédait) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with- init-scripts

encore une autre édition

Comme indiqué dans les commentaires (par Russell Yan), cela ne fonctionne que sur le mode par défaut de update-rc.d.

Selon le manuel de update-rc.d, il peut fonctionner sur deux modes, "les machines utilisant le mode hérité auront un fichier /etc/init.d/.legacy-bootordering", auquel cas vous devrez passer la configuration de la séquence et du niveau d'exécution via des arguments en ligne de commande. .

L'argument équivalent défini pour l'exemple ci-dessus est

Sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .

181
Dave Lasley