Upstart:无法以 root 身份运行

Upstart:无法以 root 身份运行

我编写了这个 upstart 脚本,用于启动 Node.js 服务。但是突然间服务停止了,upstart 无法重新启动它。现在我尝试手动启动它,但它无法识别我的服务:

start: Unknown job: queue

该脚本已正确放置在中/etc/init,并且应具有正确的权限:

-rw-r--r--   1 root root  200 Aug  7 13:30 queue.conf

然而,当我检查配置文件时init-checkconf,它说无法以 root 身份运行:

root@production1:~# init-checkconf /etc/init/queue.conf 
ERROR: cannot run as root

什么原因导致了此错误?我该如何解决?

调试信息:

Ubuntu 12.04.3 LTS

root@production1:~# service --version
service ver. 0.91-ubuntu1

编辑

这里是queue.conf

description "Echo.it command queue"
author      "Ronni Egeriis Persson <[email protected]>"

stop on shutdown
respawn
respawn 20 5

exec sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1

sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1手动运行时该命令运行良好。

答案1

无法按原样运行rootinit-checkconfinit-checkconf另一个用户身份运行会将语法验证输出到 中的文件中/tmp

在这种情况下respawn 20 5应该是respawn limit 20 5

相关内容