[server] 시작시 Upstart 사용자 작업 실행

우분투 서버 11.04를 실행 중입니다. 여기에 설명 된대로 Upstart 사용자 작업을 만들었습니다 .

내 파일은 다음과 같습니다 /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

으로 myuser는 완벽하게 작동를 미세 나는 정지를 시작하고 작업을 다시로드 할 수 있습니다 :

$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting

문제는 부팅시 작업이 자동으로 시작되지 않는다는 것 mysql입니다. 새로 부팅 한 후 mysql실행 중이지만 내 sensors작업이 실행 되지 않습니다.

이상한 점은 부팅시 작업이 시작되지 않지만 sudo다시 시작 mysql하는 데 실제로 작업 을 시작 한다는 것입니다. 다음 명령은 myuser새로 시작할 때 와 같이 실행됩니다 .

$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229

Upstart 사용자 작업에 대한 설명서는 매우 제한적입니다. 시스템 시작시 사용자 작업을 자동으로 시작하는 올바른 기술은 무엇입니까?

나는 rc.local그것을 시작하기 위해 무언가를 던질 수 있다는 것을 안다 . 또는 나의 sensors.conf쪽으로 움직일 수 는 /etc/init있지만 Upstart 만 사용하는 방법이 있다면 궁금하다.



답변

문제는 사용자가 initctl명령 중 하나를 실행하여 Upstart 세션을 만들 때까지 사용자 작업이 Upstart로로드되지 않는다는 것입니다 .

http://bradleyayers.blogspot.com.au/2012/04/enabling-upstart-user-jobs-to-start-at.html 에 자세히 설명되어 있으며 Upstart 작업을 작성했습니다. 문제.


답변

같은 소스를 보면 /etc/init/mysql.confhttp://upstart.ubuntu.com/cookbook/#start-on 이 날 것으로 보인다 당신이 당신의 변경해야 start on이런 일에 라인을 :

start on (mysql and runlevel [2345])

나는 upstart에 문서화가 부족하다는 데 동의하지 않지만 때로는 문서를 이해하는 데 어려움을 겪고 있습니다. 나는 보통 작동 할 때까지 시행 착오를합니다. 위의 해결책은 실제로 과잉 일 수 있습니다 … 이것이 충분할만큼 간단한 것 :

start on mysql


답변