2012-03-09 23 views
4

我在Ubuntu和Node.js應用程序上暴發了一些麻煩。upstart&node.js應用程序「停止:未知實例:」

一切工作正常與暴發戶腳本。開始,停止,狀態等等都按預期工作,直到我部署了新的代碼。這些更改未反映在正在運行的應用程序中。我推斷,不知何故新代碼並未被應用程序加載。

我在正在運行的守護進程的pid上做了一個手動kill,這是我認爲出錯的地方。

就目前而言,如果我initctl list我看到我的應用程序列表:

mynodejs.app stop/waiting 

當我start mynodejs.app它似乎開始:

mynodejs.app start/running, process 16228 

但是,當試圖阻止它:

stop: Unknown instance: 

And ...

status mynodejs.app 
mynodejs.app stop/waiting 

...雖然該應用程序已啓動並正在運行。

+3

你實際上應該發佈你的答案並接受它。 – 2012-05-02 17:44:02

+0

添加答案 - 經驗教訓:當你使用新手時,不應該使用'kill'手動殺死進程。 – ErJab 2012-05-06 23:33:10

回答

8

我會回答我自己的問題...

重新啓動init進程清除了一切。

sudo /sbin/telinit q 

我需要殺死我的應用程序的流氓實例。之後,使用startstop按預期工作。

+3

我有同樣的情況,但重新啓動init進程沒有幫助 – vumaasha 2013-08-18 10:30:15

1

使用自動監測 - >重啓,可以解決這個問題。 設置monit這樣做是在howtonode.org上描述的,但更有效的是here。 howtonode.org指南的評論我發現其他人的方法對Upstart設置Ubuntu非常有用,唉,它包含在這篇文章中。