我有一个运行nodejs聊天应用的实时服务器。我在mac上使用终端连接到服务器。我通过输入server.js启动服务器。
问题是,我的终端在运行一小时后总是挂起,并且没有错误输出。当它挂起时,我按下ctrl + c我收到了消息[过程完成]。
注意:我的终端在本地运行节点应用程序没有任何问题。 当我在Windows平台上使用WinSCP启动它时,我当前的聊天应用运行良好。
答案 0 :(得分: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。