Node.js 侦听EADDRINUSE:地址已在使用中::5000

Node.js 侦听EADDRINUSE:地址已在使用中::5000,node.js,npm,Node.js,Npm,在我的应用程序中,我使用并发来同时运行后端和前端。在ctrl+c之后,strill端口5000正在运行。此外,端口3000正在运行。我必须手动终止进程。如何解决这个问题?运行pa-xa | grep节点 您将获得带有processid的结果 4476 pts/0 Sl+ 0:01 node index.js 然后使用kill-94476终止进程 就这么简单lsof-ti查找打开的文件socket是基于nix的系统中的文件-t删除头,这样我们就可以通过管道进入kill。我们只需要进程

在我的应用程序中,我使用并发来同时运行后端和前端。在ctrl+c之后,strill端口5000正在运行。此外,端口3000正在运行。我必须手动终止进程。如何解决这个问题?

运行pa-xa | grep节点

您将获得带有processid的结果

4476 pts/0    Sl+    0:01 node index.js
然后使用kill-94476终止进程


就这么简单

lsof-ti查找打开的文件socket是基于nix的系统中的文件-t删除头,这样我们就可以通过管道进入kill。我们只需要进程id,-i让lsof根据internet地址查找文件。我们不必提供完整地址,我们只需使用模式:port按端口搜索即可

有些命令接受来自stdin的输入,我们可以直接通过管道发送给它们,kill不是这些命令之一,因此我们必须使用xargsIt读取来自stdin的数据,并使用来自stdin的输入调用指定的命令

最后,;让我们执行这两个命令,而不考虑彼此。不管lsof-ti:3000 | xargs kill是成功还是失败, lsof-ti:5000 | xargs kill将运行,反之亦然

lsof -ti:3000 | xargs kill; lsof -ti:5000 | xargs kill

重新启动笔记本电脑/服务器,它将释放所有繁忙端口,然后重试。。。你也可以使用

ps aux | grep node
然后使用以下命令终止进程:

kill -9 PID..
您可以终止所有正在使用节点的进程,也可以终止一个系统进程

非首选:killall-9节点


但大多数情况下,它对nodemon不起作用,对我也不起作用。

您可以通过删除正在使用的地址或简单地重新启动设备来解决此问题

1-对于Linux,要终止正在使用的地址,请使用以下命令

sudo kill $(sudo lsof -t -i:8080)

将8080替换为您的应用程序地址。

您只需重新启动笔记本电脑或更改它应该工作的端口号即可。

您使用什么启动服务器?我使用此脚本。dev:concurrent\npm run server\\npm run client\,请解释您的答案。它说找不到pa