@H_
403_0@
我为我的node.js程序创建了一个相当简单的启动脚本,它应该在启动时运行:
start on startup
stop on shutdown
script
exec sudo -u max WEBSITES_DIR=/home/max/websites/ /usr/local/bin/node /home/max/websites/server.js 2>&1 >> /var/log/node.log
end script
如果我使用:
sudo start my-program
它工作,但当我重新启动机器时,我收到错误消息:
init: my-program main process (325) terminated with status 2
有人知道如何调试这个吗?
启动事件是Upstart启动过程中发出的第一个事件.有各种各样的事情还没有发生 – 根
文件系统仍然是只读挂载,网络尚未初始化等.
我怀疑该作业正在快速退出,因为它的所有依赖项(显式或隐式)尚未初始化.我将开始条件改为类似的
start on filesystem and started networking
至少那时你将能够写入你的日志文件.
作为旁注,看起来您反转了输出重定向参数 – 实际上是指>> /var/log/node.log 2>& 1.使用2>& 1表示“采取当前fd 1的任何内容,并使fd 2成为相同的东西”,但是你还没有改变stdout的内容.