Sto eseguendo il server Ubuntu 11.04. Ho creato un lavoro utente Upstart come descritto qui .
Ho il seguente file al mio /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
Come myuser
posso iniziare, interrompere e ricaricare il lavoro bene, funziona perfettamente:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
Il problema è che il lavoro non si avvia automaticamente all'avvio all'avvio mysql
. Dopo un nuovo avvio, mysql
è in esecuzione ma il mio sensors
lavoro non lo è.
La cosa strana è che sebbene il lavoro non inizi all'avvio, se lo uso sudo
per riavviarlo mysql
, in effetti inizia il mio lavoro. I seguenti comandi vengono eseguiti come myuser
da un nuovo avvio:
$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
La documentazione per i lavori degli utenti Upstart è piuttosto limitata. Qual è la tecnica corretta per avviare automaticamente un processo utente all'avvio del sistema?
So che posso semplicemente lanciare qualcosa rc.local
per avviarlo, o potrei spostarmi sensors.conf
in /etc/init
ma sono curioso di sapere se c'è un modo per farlo usando solo Upstart.