2013-05-09 188 views
1

我正在尋找一種方法來從批處理文件中停止node.js的服務器。例如:我有一個名爲start.bat的批處理文件,其中我啓動了像這樣的node c:\test.js這樣的node.js服務器,所以這將在端口8080上啓動服務器,同樣我也想從另一個批處理文件stop.bat停止該服務器test.js。我怎樣才能做到這一點?從windows批處理文件啓動和停止node.js服務器

我試着研究過許多類似的問題,但所有這些都使用相同的.js文件的開始和停止。

這是可能的嗎?如果是的話,任何人都可以引導我?

回答

1

你可以使用永久啓動和停止服務器:https://github.com/nodejitsu/forever

全球第一安裝:

npm install -g forever 

運行服務器:

forever start test.js 

停止服務器:

forever stop test.js 

當然你也可以把這個腳本放到一個.bat文件中:)

+0

感謝它工作:) – 2013-05-09 07:09:26

+0

嗨,一個快速的幫助,每當我嘗試運行此命令,node.exe打開一個新的窗口。可以隱藏它嗎? – 2013-05-09 07:44:53

+1

永遠似乎在windows上有一些不兼容性,替代方法:在start.bat「node test.js」;在stop.bat「taskkill/IM node.exe」 – ltebean 2013-05-09 07:49:00

1

我只是在玩相同的功能。我設法開始節點通過不以.vbs

這是一個腳本我拼湊起來的,將啓動服務器,然後在本地主機運行Chrome瀏覽器啓動它打開一個cmd窗口:

Dim objWshShell, ls, lc 
set objWshShell = WScript.CreateObject("WScript.Shell") 
ls = objWshShell.Run("cmd /k cd C:\the\path\to\your\server && node myServer.js", 0, false) 
lc = objWshShell.Run("chrome localhost:8080", 1, false) 
set objWshShell = nothing 

通過傳遞0在第一次運行命令myServer.js將啓動沒有cmd窗口。我相信,這個鏈接可以適應你的功能,你正在尋找!