2013-05-09 185 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窗口。我相信,这个链接可以适应你的功能,你正在寻找!