监听EADDRINUSE:地址已在使用::: 5000

时间:2019-01-22 04:54:03

标签: node.js npm

在我的应用程序中,我同时使用后端和前端同时运行。 ctrl + c之后,直到端口5000正在运行。另外,端口3000正在运行。我必须手动终止进程。我该怎么解决?

6 个答案:

答案 0 :(得分:1)

  1. 以“管理员”身份运行 cmd.exe:

C:\Windows\System32>taskkill /F /IM node.exe

答案 1 :(得分:0)

运行pa -xa | grep node

您将获得带有processid的结果

4476 pts/0    Sl+    0:01 node index.js

然后使用kill -9 4476

终止进程

就这么简单

答案 2 :(得分:0)

lsof -ti查找打开的文件(套接字是基于nix的系统中的文件)-t删除标头,以便我们可以通过管道将其插入kill(我们只需要进程ID),-i使lsof可以基于网址。我们不必提供完整的地址,我们可以使用:port模式按端口搜索。

一些命令接受来自stdin的输入,我们可以直接通过管道传递给它们,kill不是这些命令之一,因此我们必须使用xargs(它从stdin读取,并使用stdin的输入调用指定的命令)。 / p>

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

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

答案 3 :(得分:0)

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

ps aux | grep node

,然后使用以下命令终止该进程:

kill -9 PID..

您可以杀死正在使用节点的所有进程,也可以杀死系统进程

不推荐使用:killall -9 node

但是大多数情况下,它不适用于nodemon,也不适用于我。

答案 4 :(得分:0)

您可以通过终止正在使用的地址来解决此问题,也可以简单地重新启动您的设备。

1- Linux 要杀死正在使用的地址,请使用以下命令

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

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

答案 5 :(得分:-1)

您可以简单地重新启动您的笔记本电脑或更改它应该工作的端口号