我已经安装并正在osx上运行node.js服务器。我已经失去了一个聊天模块,并且很高兴地运行它。我修改了一些部分,需要重新启动服务器才能看到效果。如何重新启动node.js服务器
我只知道如何通过关闭终端窗口重新启动它,然后再次运行节点chatdemo.js来重新启动。
任何方式重新启动没有关闭终端?
谢谢。
我已经安装并正在osx上运行node.js服务器。我已经失去了一个聊天模块,并且很高兴地运行它。我修改了一些部分,需要重新启动服务器才能看到效果。如何重新启动node.js服务器
我只知道如何通过关闭终端窗口重新启动它,然后再次运行节点chatdemo.js来重新启动。
任何方式重新启动没有关闭终端?
谢谢。
如果它只是运行(不是守护进程),那么只需使用Ctrl-C
。
如果它的进程化,那么你可以尝试:
$ ps aux | grep node
you PID 1.5 0.2 44172 8260 pts/2 S 15:25 0:00 node app.js
$ kill -2 PID
凡PID
通过的ps
输出数代替。
你也可以使用“killall -2 node”,它具有相同的效果。 – user123444555621 2010-07-22 17:09:06
不想/需要杀死_all_节点进程。如果我有一些节点repl的打开,我会成为一个不幸的露营者之后:) – rfunduk 2010-07-23 20:43:11
备注:通过'nohup node server.js&' – 2010-10-30 18:28:46
在这种情况下,您经常会重新启动node.js服务器,因为它处于活动状态,并且您一直在进行更改。有一个伟大的热加载脚本,将通过观看所有的.js文件并重新启动你的node.js服务器,如果这些文件中的任何一个已经改变,将为你处理。只是快速开发和测试的门票。
关于如何使用它的脚本和解释在Draco Blue。
开始一个节点守护进程FYI现在有几个节点模块专门用于这一点,看看[Node modules Wiki page](https://github.com/joyent/node/wiki/modules#wiki-build-and-deployment)。 – Marco 2011-10-12 20:32:11
我有同样的问题,然后写这个shell脚本,它可以杀死所有的现有节点过程:
#!/bin/bash
echo "The following node processes were found:"
ps aux | grep " node " | grep -v grep
nodepids=$(ps aux | grep " node " | grep -v grep | cut -c10-15)
echo "OK, so we will stop these process/es now..."
for nodepid in ${nodepids[@]}
do
echo "Stopping PID :"$nodepid
kill -9 $nodepid
done
echo "Done"
保存为一个shell脚本(xxx.sh)这个文件后,你可能要添加它会按照here所述的PATH进行。
(请注意,这将杀死所有与它的名字“节点”的过程中,除了grep的自己,所以我想在某些情况下,它也可以杀死具有类似名称的一些其他工艺)
我在mac osx上我不得不使用'cut -c17-20' – ThomasReggi 2012-07-19 03:44:21
这不正是pkill节点的用途吗? – tandrewnichols 2015-01-04 20:08:48
在开发过程中重新启动服务器,看到所做的更改的最佳方法是使用nodemon
NPM安装nodemon -g
nodemon [你的应用程序名称]
nodemon将监视nodemon启动的目录中的文件,如果它们更改,它将自动重新启动节点应用程序。
检查nodemon混帐回购协议:https://github.com/remy/nodemon
我不知道这个模块,它非常有用,让我想起我的django应用程序。谢谢。 – 2013-08-20 20:22:28
意外的建议。非常有效的开发以快速测试代码。 – mbokil 2014-06-04 04:23:09
好的,谢谢,我们如何配置eclipse来使用nodemon而不是node ..? – 2014-09-26 05:51:43
使用 “杀-9 PID]” 或 “killall -9节点” 为我工作,其中 “杀-2 [PID]” 没有工作。
如果我只是从控制台运行节点应用程序(不使用永远等)我使用控制+ C,不知道如果OSX有相同的组合键终止,但比找到进程ID并杀死它快得多,你也可以将下面的代码添加到您正在使用的聊天应用程序中,然后在控制台中输入'exit'以关闭应用程序。
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function(data) {
if (data == 'exit\n') process.exit();
});
据我所知,我的评论与Windows相关,但可能会有人有用。 对于在cmd中取胜 运行:
wmic process where "commandline like '%my_app.js%' AND name='node.exe' " CALL Terminate
那么你可以再次运行你的应用程序:
node my_app.js
您也可以在批处理文件中使用它,以逃避报价:
wmic process where "commandline like '%%my_app.js%%' AND name='node.exe' " CALL Terminate
node my_app.js
说“nodemon”会回答这个问题。
但对如何只杀(全部)节点恶魔(S),对我来说以下工作:
pkill -HUP node
使用永远https://github.com/foreverjs/forever。然后你只需输入'forever restart' – 2016-10-25 13:27:40