web-dev-qa-db-fra.com

Comment enregistrer un service upstart?

J'ai écrit un service upstart après le article du wiki Ubunt et créé un fichier .conf dans /etc/init/. Il n'y a pas d'instructions sur la procédure à suivre pour rendre le script disponible dans initctl list et pour les commandes de gestion upstart, telles que start et service. Le livre de recettes officiel n'explique pas cette affaire.

Le départ échoue avec

$ start archiva
start: Unknown job: archiva
$ service archiva start
archiva: unrecognized service
6
Karl Richter

Il y a probablement des erreurs dans votre fichier de configuration. Pour le vérifier, utilisez:

 init-checkconf archiva.conf

ou

initctl check-config archiva

comme décrit dans le livre de recettes upstart: 10.1.6.2 initctl check-config et 10.1.7 init-checkconf .

Par la suite, utilisez le démon init qui, selon la page de manuel:

Au démarrage, le démon Upstart init (8) lit la configuration de son travail à partir des fichiers du répertoire/etc/init/et surveille les modifications futures de ces fichiers à l'aide de inotify (7).

Ainsi, une fois que vous avez placé votre fichier de configuration dans /etc/init, votre service est activé et lors du prochain redémarrage, le démon init le lancera.

4
Lety

Upstart utilise inotify. Si vous déposez un fichier de configuration dans /etc/init/, Upstart devrait détecter et rendre le travail disponible automatiquement. Si vous ne le voyez pas apparaître, il peut y avoir un problème dans votre nouvelle configuration. Essayez de vérifier les journaux pour les erreurs.

1
Robie Basak

Définir une variable dans le fichier /etc/init/scriptname.conf sous la forme de NAME=value comme vous le feriez dans un script initd fait en sorte que upstart donne ce retour plutôt absurde (dire qu'il y a une erreur de syntaxe est beaucoup plus approprié que de dire que le script n'existe pas) . Si vous supprimez la ligne, le script est reconnu et peut être démarré de manière aléatoire (voir l'amélioration suggérée sous le nom bogue 1446577 sur launchpad.net pour plus de détails).

0
Karl Richter