Upstart node.js工作目录

Chr*_*ans 14 upstart relative-path working-directory node.js

使用Upstart启动Node.js,当尝试访问Node.js中的文件时,如果不使用完整路径,则无法访问它们.我需要它来使用工作目录.

start on startup
stop on shutdown

script
        echo $$ > /var/run/mynodeapp.pid
        exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script

pre-start script
        echo "Starting" >> /var/log/mynodeapp.sys.log
end script

pre-stop script
        rm /var/run/mynodeapp.pid
        echo "Stopping" >> /var/log/mynodeapp.sys.log
end script
Run Code Online (Sandbox Code Playgroud)

Chr*_*ans 25

解决方案是更改脚本中的目录.在我的例子中,用户是mynodeapp,节点文件在users目录(/ home/mynodeapp /)中.

script
        chdir /home/mynodeapp/
        echo $$ > /var/run/mynodeapp.pid
        exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1
end script
Run Code Online (Sandbox Code Playgroud)

我还没有找到回声线上的$$或2>&1.如果他们知道的话,也许有人会对此感激不尽!

  • 看看这里有什么:http://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables (2认同)