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 myusereu 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 é mysqliniciado. Depois de uma nova inicialização, mysqlestá em execução, mas meu sensorstrabalho não é.
O que é estranho, é que, embora o trabalho não comece na inicialização, se eu usar sudopara reiniciar, mysqlele realmente inicia o meu trabalho. Os seguintes comandos são executados a partir myuserde 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.localpara iniciá-lo, ou eu poderia mudar o meu sensors.confpara, /etc/initmas estou curioso para saber se existe uma maneira de fazer isso usando apenas o Upstart.