시작 시 Upstart 사용자 작업 실행

시작 시 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.confUpstart /etc/init만 사용하여 수행할 수 있는 방법이 있는지 궁금합니다.

답변1

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

에서 더 자세히 설명했습니다.http://bradleyayers.blogspot.com.au/2012/04/enabling-upstart-user-jobs-to-start-at.html또한 문제를 해결하는 Upstart 작업을 작성했습니다.

답변2

/etc/init/mysql.conf와 같은 소스를 보면http://upstart.ubuntu.com/cookbook/#start-onstart on내 생각에는 다음과 같이 줄을 변경해야 할 것 같습니다 .

start on (mysql and runlevel [2345])

신생 기업에 문서가 부족하다는 점에 동의할 수는 없지만 때로는 문서를 이해하는 데 어려움을 겪습니다. 나는 보통 작동할 때까지 시행착오를 합니다. 위의 해결책은 실제로 과잉일 수 있습니다. 다음과 같이 간단한 것만으로도 충분할 수 있습니다.

start on mysql

관련 정보