2011-06-07 68 views
1

我有一個運行nodejs聊天應用的活服務器。我使用Mac上的終端連接到服務器。我通過鍵入server.js來啓動服務器。nodejs服務器 - mac終端每隔一小時崩潰

問題是,我的終端在運行一小時後總是掛起,並且沒有錯誤輸出。當它掛起時,我按ctrl + c我得到了消息[進程完成]。

注意:我的終端在本地運行節點應用時沒有任何問題。 當我在Windows平臺中使用WinSCP啓動它時,我的當前聊天應用程序運行良好。

+0

你的問題到底是什麼?您可以發佈您正在運行的代碼(或指向它的鏈接)嗎? – maerics 2011-06-07 05:34:18

回答

3

嘗試使用a tool like nohup在遠程服務器上啓動節點進程。

bash$ nohup /path/to/node server.js > out.txt 2> err.txt & 
[1] 53032 
# Now you can logout of the remote server without 
# killing the "node" process and chat server. 

[編輯]

請注意,數字由「nohup的」印刷(如53032)是分離的進程的ID,所以如果你需要終止它,你可以這樣做「kill -9 53032」。如果您忘記記錄該號碼,則必須使用諸如「ps」之類的程序來查找該號碼;例如,你可以運行「ps auxwww | grep node」(標誌會根據您的系統而有所不同),你會看到類似這樣的輸出:在第二列

maerics 81694 0.6 0.5 2543604 21216 s000 S+ 10:34AM 0:09.45 /Users/maerics/opt/node/node server.js 

在這個例子中,我的系統上,數是進程ID。

+0

或者也許只是在[tmux](http://tmux.sourceforge.net/)或[screen](http://www.gnu.org/software/screen/)中運行它。 – mikl 2011-06-07 09:25:37

+0

我有一個新問題。終端崩潰,但它忘記殺死服務器,現在我不知道如何停止服務器。 – 2011-06-15 16:40:58

+0

@runrunforest:查看我的更新回答,並提供關於如何殺死它的信息。 – maerics 2011-06-15 16:54:12