我在ubuntu和node.js app上使用upstart时遇到了一些麻烦。
使用upstart脚本一切正常。启动,停止,状态等都按预期工作,直到我部署新代码。这些更改未反映在正在运行的应用中。我推断,stop
& start
应用。
我在正在运行的守护程序的pid上做了一个手册kill
,我认为这是我出错的地方。
目前,如果我initctl list
我在列表中看到了我的应用:
mynodejs.app stop/waiting
当我start mynodejs.app
似乎开始时:
mynodejs.app start/running, process 16228
但是,当试图阻止它时:
stop: Unknown instance:
和...
status mynodejs.app
mynodejs.app stop/waiting
...虽然该应用已启动并正在运行。
答案 0 :(得分:8)
我会回答我自己的问题......
重新启动init进程清除了所有内容。
sudo /sbin/telinit q
我需要杀死我应用的流氓实例。之后,使用start
和stop
按预期工作。
答案 1 :(得分:1)
使用自动监控 - >重启,可以解决这个问题。 设置monit以执行此操作的方法在howtonode.org中有所描述,但更有效here。对于howtonode.org指南的评论我发现对于其他用Upstart建立Ubuntu的方法非常有用,唉它包含在这篇文章中。