UPSTART脚本非root不能正常工作

我正尝试使用upstart作为非root用户来运行nodejs应用程序。
但不知怎的,部分脚本将不会运行:例如:

  1. 如果我像一个root用户运行它(下面的例子)NODE_ENV永远不会被调用/设置
  2. 唯一的方法来调用是"sudo initctl stop pdcapp"
  3. sudo nameofApp start|stop不起作用
  4. 当调用sudo initctl stop nameofAppsudo initctl stop nameofApp前脚本不会回显到日志文件
  5. 如果我尝试像非root用户那样运行,它甚至不会启动

是不是一个更简单的方法做这个(systemd)我已经看了各种教程,显然这是他们如何完成。 所以我在这里错过了什么?

这是/ etc / init /

 env FULL_PATH="/srv/pd/sept011100/dev" env NODE_PATH="/usr/local/nodeJS/bin/node" env NODE_ENV=production start on filesystem or runlevel [2345] stop on [!2345] script export NODE_ENV #this variable is never set echo $$ > /var/run/PD.pid cd $FULL_PATH # the command below will not work #exec sudo -u nginx "$NODE_PATH server.js >> /var/log/PD/pdapp.log 2>&1" exec $NODE_PATH server.js >> /var/log/PD/pdapp.log 2>&1 end script pre-start script echo "[`date`] (sys) Starting" >> /var/log/PD/pdapp.log end script pre-stop script rm /var/run/pdapp.pid echo "[`date`] (sys) Stopping" >> /var/log/PDC/pdapp.log end script 

在/ var / log / messages中,当我停止应用程序时,我得到了这个,否则我在日志文件中什么都没有

 Sep 2 18:23:14 547610-redhat-dev2 init: pdcapp pre-stop process (6903) terminated with status 1 Sep 2 18:23:14 547610-redhat-dev2 init: pdcapp main process (6899) terminated with status 143 

任何想法为什么这是行不通的我正在运行redhat 6.5

红帽拥有一个超级老版本的Upstart,它可能充满了bug,因为它们从来没有为Upstart做过贡献,尽pipe使用它(Fedora在RHEL 6发布之后立即切换到systemd,甚至还没有真正尝试过)。