J'utilise le serveur Ubuntu 11.04. J'ai créé un travail utilisateur Upstart comme décrit ici .
J'ai le fichier suivant chez moi /home/myuser/.init/sensors.conf:
start on started mysql
stop on stopping mysql
chdir /home/myuser/mydir/project
exec /home/myuser/mydir/env/bin/python /home/myuser/mydir/project/manage.py sensors
respawn
respawn limit 10 90
Comme myuserje peux démarrer, arrêter et recharger le travail correctement, cela fonctionne parfaitement:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
Le problème est que le travail ne démarre pas automatiquement au démarrage au démarrage mysql. Après un nouveau démarrage, mysqlfonctionne mais mon sensorstravail ne l'est pas.
Ce qui est étrange, c'est que même si le travail ne démarre pas au démarrage, si je le sudoredémarre, mysqlil démarre effectivement mon travail. Les commandes suivantes sont exécutées à myuserpartir d'un nouveau démarrage:
$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
La documentation des travaux utilisateur Upstart est assez limitée. Quelle est la bonne technique pour démarrer automatiquement un travail utilisateur au démarrage du système?
Je sais que je peux jeter quelque chose dans rc.localpour commencer, ou je pouvais bouger mon sensors.confà /etc/initmais je suis curieux de savoir s'il y a un moyen de le faire en utilisant simplement Upstart.