微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu – 在启动时运行Upstart用户作业

我正在运行ubuntu服务器11.04.我已经创建了一个Upstart用户作业,如 here所述.

我在/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

作为我的用户,我可以启动,停止并重新加载工作,它完美地工作:

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

问题是当MysqL启动时,作业不会在启动时自动启动.重新启动后,MysqL正在运行,但我的传感器工作却没有.

奇怪的是,虽然作业不是在启动时开始的,但是如果我使用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工作.

原文地址:https://www.jb51.cc/ubuntu/348592.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐