我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。

我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。

当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。

我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。


当前回答

如果你正在使用VSCode,你可以选择杀死终端并添加一个新终端。关闭选项卡并打开一个新选项卡。这对我很管用。

编辑: 使用ctrl+c并按y。在没有终止终端的情况下,您可以继续。 如果你想打开一个visual studio的新实例并运行一个不同的应用程序,你可以使用ng serve——port 4401。

其他回答

在我的Ubuntu上,我输入了crl+z来关闭终端,之后我无法访问localhost:4200。唯一的解决办法是:

$ sudo fuser -k 4200/tcp

然后重新启动服务器。

在Mac OS X上,您需要执行以下命令:

Sudo lsof -t -i tcp:4200 | xargs kill -9

记住,你需要用Command+C关闭Angular的web服务器。

我们可以通过以下命令强制终止端口。

kill -2 $(lsof -t -i:4200)

如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。

用这三个命令:

Netstat -ANB |芬斯特 4200 网达-安博 |芬斯特 4200 任务杀戮 -f /pid 22416

Cmd =>应该以管理员身份运行

首先:检查它是否在监听

C:\Windows\system32>netstat -anb | findstr 4200 

输出:

TCP  127.0.0.1:4200     0.0.0.0:0      LISTENING 

第二:寻找IP

C:\Windows\system32>netstat -anbo | findstr 4200 

输出:

TCP    127.0.0.1:4200     0.0.0.0:0    LISTENING    22416 

第三:杀死端口

C:\Windows\system32>taskkill -f /pid 22416 

成功:PID为22416的进程已被终止。

你应该找到自己的pid;