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, tudo funciona perfeitamente:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
O problema é que o trabalho não está sendo iniciado automaticamente na inicialização quando mysql é iniciado. Após uma inicialização recente, mysql está em execução, mas meu trabalho sensors não é.
O que é estranho é que, embora o trabalho não comece na inicialização, se eu usar sudo para reiniciar o mysql , ele realmente iniciará meu trabalho. Os seguintes comandos são executados como 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 de usuário inicie automaticamente na inicialização do sistema?
Eu sei que posso simplesmente jogar algo em rc.local para iniciá-lo, ou eu poderia mover meu sensors.conf para /etc/init , mas estou curioso para saber se há uma maneira de fazer isso usando apenas o Upstart.