我已經安裝並正在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