windows 下 Error: listen EADDRINUSE :::8000解决w

一、环境说明

        操作系统:windows7

         命令操作环境:cygwin


二、错误说明

       在使用grunt命令关闭之后,再次使用grunt,显示:

  events.js:182
          throw er; // Unhandled 'error' event
          ^
    Error: listen EADDRINUSE :::8000
        at Object.exports._errnoException (util.js:1022:11)
        at exports._exceptionWithHostPort (util.js:1045:20)
        at Server.setupListenHandle [as _listen2] (net.js:1315:14)
        at listenInCluster (net.js:1363:12)
        at Server.listen (net.js:1463:7)
        at Function.listen (G:\webstorm\movieManageWeb\node_modules\[email protected]@express\lib\application.js:618:24)
        at Object. (G:\webstorm\movieManageWeb\app.js:24:5)
        at Module._compile (module.js:569:30)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:503:32)
        at tryModuleLoad (module.js:466:12)
        at Function.Module._load (module.js:458:3)
        at Function.Module.runMain (module.js:605:10)
        at startup (bootstrap_node.js:158:16)
        at bootstrap_node.js:575:3

       

      EADDRINUSE就是err address in use,翻译过来就是使用错误的端口

        其实就是之前一次的命令运行之后,还占用着端口8000,解决方案有两个,

       1、可以重新设置一下另外一个端口号。

       2、杀死之前还占用8000端口的进程。

       (1)在linux下可以使用命令下查询占用了8000端口号node的进程号:

ps -ax | grep node

得到:

60778 ??         0:00.62 /usr/local/bin/node abc.js
然后:

kill -9 60778
kill -9 后面加上获取到的pid(这里是60778)就可以了。

       (2)在windows下,ctrl+alt+d,启动任务管理器,在进程中查找node的进程:


右键,结束进程。将所有node进程结束,问题解决。


ps:在使用grunt命令来启动页面后,不需要在使用node app.js再次启动,否则会造成EADDRINUSE。



三、在windows cygwin中终止grunt

       如果使用ctrl+c不能终止grunt,会出现上述情况。

       使用ctrl+z就可以终止grunt,避免上诉问题。



你可能感兴趣的:(安装)