ember s - 端口4200已在使用中

时间:2016-07-26 09:42:28

标签: ember.js

我有两个ember项目:project1,project 2

project1:ember s,端口4200工作正常。我关闭了project1终端并再次尝试在project2中启动ember,当我这样做时,我正在使用Port 4200已经在使用。

  

端口4200已在使用中。

为什么我会收到此错误,因为已经被杀死的其他实例以及如何纠正它?

4 个答案:

答案 0 :(得分:10)

尝试以下方法,

sudo fuser -k 4200/tcp

它会杀死属于端口4200的所有进程。

答案 1 :(得分:5)

这些答案都不适用于Mac,所以我发布了这个解决方案。

kill -9 $(lsof -i tcp:4200 -t)

答案 2 :(得分:3)

我将评论扩展为Windows用户的答案,

要查看4200是否已经在使用中,如果是这样,什么进程保持端口,请运行以下命令

netstat -ano | findstr :4200

这会显示一些像这样的结果,

TCP    0.0.0.0:4200           0.0.0.0:0              LISTENING       12784
TCP    [::]:4200              [::]:0                 LISTENING       12784

将列出使用4200端口的进程列表。您可以在结果中找到进程ID。在上面的结果中,pid是12784。我们需要杀死这个进程以释放端口。

TaskKill.exe /F /PID 12784

答案 3 :(得分:2)

以下解决方案适用于Mac& Linux操作系统。

尝试使用:

ember serve --port 0

Per ember help:"传递0以自动选择可用端口"。 (在终端中,键入ember help)。

此方法也可以同时运行多个余烬站点。它可以帮助您找到可用的端口以及每个端口的不同实时重载端口:

ember serve --port 0 --live-reload-port 0

如果在上述任何一种情况下出现相同的错误,您还可以在终端提示符下输入以下python脚本以识别可用端口:

python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'

然后,您可以指定您知道可用的端口:

ember serve --port <known_port_1> --live-reload-port <known_port_2>