我有两个ember项目:project1,project 2
project1:ember s,端口4200工作正常。我关闭了project1终端并再次尝试在project2中启动ember,当我这样做时,我正在使用Port 4200已经在使用。
端口4200已在使用中。
为什么我会收到此错误,因为已经被杀死的其他实例以及如何纠正它?
答案 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>