我正在运行Ubuntu服务器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来完成。