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.