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.
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.