web-dev-qa-db-fra.com

initctl ne voyant pas le script d'initialisation dans Ubuntu 12 64 bits

J'ai créé un script d'initialisation au format LSB et je l'ai copié dans le répertoire /etc/init.d. Je peux manuellement démarrer, arrêter, statut du service et tout fonctionne bien. J'essaie ensuite de configurer le service pour qu'il s'arrête/démarre automatiquement avec les niveaux d'exécution en procédant comme suit:

update-rc.d service defaults

et je vois des avertissements comme:

update-rc.d: avertissement: les arguments xxx start runlevel (aucun) ne correspondent pas aux valeurs lsb default-Start (3 4 5).

and initctl list "ne montre pas mon service. Y a-t-il une étape à faire pour que ce service soit correctement enregistré? (je sais que sur RedHat c'est" chkconfig --add xxx) mais je ne connais pas assez Ubuntu.

2
TSG

initctl fait partie du mécanisme de démarrage d'Uubuntu. initctl list ne vous indique que le statut des tâches démarrées. Votre script est en effet un script SysV init.

Pour lister le statut du script init SysV, utilisez cette commande:

service --status-all

Votre service devrait être répertorié ici.


Pour créer des liens dans les dossiers /etc/rcN, utilisez la commande suivante:

update-rc.d your_init_script defaults

De la page de manuel de update-rc.d:

Si default est utilisé, update-rc.d établira des liens pour démarrer le service dans les niveaux d'exécution 2345 et pour l'arrêter dans les niveaux d'exécution 016.

1
chaos