簡體   English   中英

UPSTART腳本非root用戶無法正常工作

[英]UPSTART script non root not working

我正在嘗試以非root用戶身份使用upstart運行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用戶一樣運行它,它甚至不會啟動

這不是一種更清潔,更輕松的方式(系統化),我看過各種教程,顯然這就是他們的方法。 所以我在這里想念什么?

這是/ etc / init /下的.conf文件

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

Red Hat具有一個過時的超級版本的Upstart,可能充滿了錯誤,因為盡管使用了它,但它們從未對Upstart有所貢獻(在RHEL 6發布后,Fedora便立即切換到systemd,甚至還沒有對其進行很好的嘗試)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM