Ubuntu upstart:为什么重新启动与停止执行相同的操作?

Ubuntu upstart:为什么重新启动与停止执行相同的操作?

这是我的 upstart 文件/etc/init/myapp.conf

description "Example of starting Node with Upstart and Forever"

start on filesystem or runlevel [2345]
stop on runlevel [06]

expect fork

console output

setuid lwood

env HOME=/home/lwood

script
  cd $HOME
  exec forever -a -l /home/lwood/myapp/applog.log \
       start /home/lwood/myapp/app.js
end script

pre-stop script
  cd $HOME
  exec forever stop /home/lwood/myapp/app.js
end script

你知道为什么$ sudo restart myapp只停止服务吗?停止后不会启动服务。所以它的效果和 一样$ sudo stop myapp

执行$ sudo stop myapp然后就$ sudo start myapp可以正常工作了。想知道为什么重新启动的行为会有所不同。

我在使用 Ubuntu 12.04。

答案1

我猜测这与导致 upstart 脚本停止的脚本输出有关。

如果你按照这一页他们似乎建议将标准输出传送到日志文件。

env LOG="/var/log/my-application.log"
exec forever stop /home/lwood/myapp/app.js >> $LOG

相关内容