在eclipse的控制台视图中“终止”会使node.exe运行

时间:2015-05-06 19:21:37

标签: eclipse windows node.js express console

我最近开始使用Nodeclipse开发Node.js / Express。我添加了目标为package.json的{​​{1}}的运行配置。这按预期工作,执行start的{​​{1}}命令(start)。我可以在Eclipse的控制台视图中看到此命令,我可以在Windows任务管理器中看到两个package.json进程。对node ./bin/www的HTTP请求将记录在控制台中。

但是,在Eclipse的控制台视图中单击红色的“Terminate”-Button会使node.exe进程运行。启动应用程序的后续尝试失败,因为端口已在使用中。

当我在Windows http://localhost:3000/中使用node.exe启动应用时,我没有遇到此问题。使用Ctrl + C停止执行也将退出node.exe进程。

这是我的IDE设置:

  • Eclipse Luna SR2(4.4.2),在Windows 7 x64下使用jre1.8.0_45
  • Eclipse以这种方式设置:提取eclipse-platform-4.4.2-win32-x86_64.zip(来自here),安装Eclipse Marketplace Client,然后通过Drag& Drop从nodeclipse.org安装Nodeclipse
  • Node.js版本v0.12.2(适用于Windows x64)
  • express-generator(版本4.12.1)全局安装

如何让控制台视图中的Terminate按钮实际终止node.exe进程?

2 个答案:

答案 0 :(得分:1)

似乎Eclipse只会杀死用于启动节点的npm脚本。问题是Eclipse强行杀死该脚本,使其无法向node.exe进程发送任何信号。

bug解释了为什么会这样运作。

答案 1 :(得分:0)

enter image description here

步骤1: 以管理员身份运行命令行。然后运行以下提及的命令。在您的端口号中输入您的端口号 netstat -ano | findstr:yourPortNumber

红色圆圈区域显示PID(过程标识符)

第2步: 然后,在确定PID之后执行此命令。 taskkill / PID在此处输入您的PID / F

P.S。再次运行第一个命令以检查进程是否仍然可用。如果过程成功结束,您将获得空行。