J'utilise upstart pour les services sur mes serveurs. Écrire un fichier de configuration et le placer dans /etc/init
est facile, mais cela ne semble pas s’installer complètement. D'une part, le service --status-all
ne répertorie pas mon nouveau service. J'ai vérifié et si je fais un lien /etc/init.d
vers /lib/init/ubstart-job
il apparaîtra dans le statut. Mais faire cela manuellement me fait penser que je ne le fais pas bien, et il se peut que d’autres étapes de configuration ne soient pas effectuées.
Quelle est la bonne façon d'installer un service upstart tel qu'il soit correctement enregistré dans tous les outils traitant des services?
/lib/init/upstart-job
?Réponses:
Lorsque vous copiez pour la première fois un nouveau fichier conf dans le dossier / etc / init, vous devez appeler:
Par ceci votre upstart devrait être correctement enregistré.
la source
start
-d. Lestop
travail), mais cela ne le rend pas visible. Je devais encore l'ajouter manuellement/etc/init.d/
pour que cela se produise.initctl list
commande avec sudo:sudo initctl list
. De cette façon, vous verrez la liste complète des services.I still had to manually add it to /etc/init.d
. Il fallait encore ajouter quoi? Cela signifie que, en plus d'unX.conf
fichier ajouté à/etc/init
, il est également nécessaire d'ajouter un fichier à/etc/init.d
?Commander le manuel d'entretien:
(emphase ajoutée)
C'est pourquoi l'ajouter à /etc/init.d (où se trouvent les travaux sysvinit) a permis ce travail. Donc, essayez plutôt de lancer initctl list :).
la source
That's why adding it
Ajout de quoi? En plus dumy_service.conf
fichier dans/etc/init
, il est également nécessaire d'avoir un/etc/init.d
fichier?Pour les services SysV
Assurez-vous de suivre les étapes suivantes lors de l'ajout / création d'un nouveau service dans Ubuntu.
/etc/init.d/<service name>
chmod 700 /etc/init.d/<service name>
update-rc.d <service name> defaults
update-rc.d <service name> enable
Maintenant, voyez-vous servir dans
la source
J'ai constaté qu'une erreur dans le fichier .conf peut rendre le travail non reconnaissable par initctl. par exemple, avoir une
setuid
ligne dans la version 1.3 ou antérieure d'Upstart.la source
Bien que la réponse choisie actuellement soit correcte pour obtenir le nouveau service ajouté à upstart, elle n'est pas particulièrement utile pour savoir POURQUOI une configuration dans / etc / init / ne parvient pas à se charger - la pièce manquante utilise d'abord init-checkconf pour s'assurer que votre configuration est valide, puis en utilisant reload-configuration:
la source