渣艾达今天在学node的时候遇到一个问题:
重启程序时提示我端口被占用:
node index.js
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::2335
at Object._errnoException (util.js:1024:11)
at _exceptionWithHostPort (util.js:1046:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at Server.listen (net.js:1476:7)
at Application.listen (/Users/xin/Desktop/learn/koa/node_modules/_koa@2.7.0@koa/lib/application.js:65:19)
at Object.<anonymous> (/Users/xin/Desktop/learn/koa/server/index.js:22:5)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
划重点:Unhandled 'error' event,看见这个报错就是端口号被占用了。
解决方案有2种:
- 换个端口号
- 杀掉node服务
接下来就简单说下杀掉服务这个事儿:
//查询端口号对应的pid
lsof -i:端口号 exp:lsof -i:2335
//根据pid杀掉你正在占用的端口号程序
sudo kill -9 pid exp:sudo kill -9 1756
//这个看到你在运行的node服务,但是不知道占用的端口号,只有pid,当个知识了解下吧
ps -ax | grep node
that's all,谢谢大家