gpt4 book ai didi

linux - UPSTART 脚本非 root 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:24 25 4
gpt4 key购买 nike

我正在尝试以非 root 用户身份使用 upstart 运行 nodejs 应用程序。
但不知何故部分脚本不会运行:例如:

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

这不是一种更简洁、更简单的方法(systemd)我查看了各种教程,显然他们就是这样做的。那我在这里错过了什么?

这是/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 做出过贡献,尽管使用了它(Fedora 在 RHEL 6 发布后立即切换到 systemd,甚至在他们真正试用它之前)。

关于linux - UPSTART 脚本非 root 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com