节点js听简单的HTTP服务器的EADDRINUSE错误
我有简单的节点js http服务器。
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888);
如果我跑
node basicserver.js
我明白了
node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: listen EADDRINUSE at errnoException (net.js:642:11) at Array.0 (net.js:743:26) at EventEmitter._tickCallback (node.js:192:40)
我已经看到这个post,但是这个post似乎是特定于TCP服务器而不是http服务器。 任何人都可以请帮忙。
您正在监听的端口已被另一个进程监听。 在这种情况下,我有一种感觉,那就是你的自我。 你可以做一个ps aux | grep node
然后使用kill <pid>
kill你的节点进程。 除此之外,你也可以尝试另一个端口。
–Update–
如果你想find正在监听的进程,可以使用netstat -lpn
( -l
是找出监听端口, -p
是包含进程名和pid, -n
是不parsing主机名,否则会很慢),以查找正在不同端口上侦听的进程。 如果有太多,你可以做netstat -lnp | grep :8888
netstat -lnp | grep :8888
。
也可以使用fuser 8888/tcp
,它会显示你的进程pid,同时join-k
会杀死进程,有史以来最快的方法。
我意识到这两个命令只能在Linux中工作。
我最喜欢杀死我机器上的所有实验
killall node
尝试运行服务器时可能会出现同样的问题,但是您没有root权限。