Max*_*Max 6 ubuntu upstart node.js
我为应该在启动时运行的 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
Run Code Online (Sandbox Code Playgroud)
如果我使用:
sudo start my-program
Run Code Online (Sandbox Code Playgroud)
它有效,但是当我重新启动机器时,我收到错误消息:
init: my-program main process (325) terminated with status 2
Run Code Online (Sandbox Code Playgroud)
有人知道如何调试吗?
Eva*_*der 12
该startup
事件是在 Upstart 启动过程中发出的第一个事件。有各种各样的事情还没有发生 - 根文件系统仍将以只读方式挂载,网络尚未初始化等。
我怀疑该作业正在快速退出,因为它的所有依赖项(显式或隐式)尚未初始化。我会将开始条件更改为类似
start on filesystem and started networking
Run Code Online (Sandbox Code Playgroud)
至少那时您将能够写入您的日志文件。
作为旁注,您似乎颠倒了输出重定向参数 - 您实际上是指>> /var/log/node.log 2>&1
. Using 的2>&1
意思是“采用当前 fd 1 的任何内容,并使 fd 2 成为相同的东西”,但您还没有更改 stdout 是什么。
归档时间: |
|
查看次数: |
4457 次 |
最近记录: |