2011-06-07 66 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