Estou executando o servidor Ubuntu 11.04. Eu criei um trabalho de usuário Upstart conforme descrito aqui .
Eu tenho o seguinte arquivo no meu /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
Como myuser
eu posso iniciar, parar e recarregar o trabalho, ele funciona perfeitamente:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
O problema é que o trabalho não é iniciado automaticamente na inicialização quando é mysql
iniciado. Depois de uma nova inicialização, mysql
está em execução, mas meu sensors
trabalho não é.
O que é estranho, é que, embora o trabalho não comece na inicialização, se eu usar sudo
para reiniciar, mysql
ele realmente inicia o meu trabalho. Os seguintes comandos são executados a partir myuser
de uma nova inicialização:
$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
A documentação para trabalhos do usuário Upstart é bastante limitada. Qual é a técnica correta para que um trabalho do usuário seja iniciado automaticamente na inicialização do sistema?
Eu sei que posso simplesmente jogar algo rc.local
para iniciá-lo, ou eu poderia mudar o meu sensors.conf
para, /etc/init
mas estou curioso para saber se existe uma maneira de fazer isso usando apenas o Upstart.