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

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

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

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


当前回答

最简单的一行命令:

 sudo fuser -k 4200/tcp

其他回答

当您使用Ctrl+Z时,您将挂起正在运行的任务,而不是终止它。后续可以使用fg命令恢复任务。 如果你想退出ng serve,你应该使用Ctrl+C来代替,这也会释放4200端口。

ng serve --port 4201 --live-reload-port 4200

并使用localhost:4201访问

这应该是一个临时的解决方案。

or

尝试使用列出端口使用情况 lsof我:4200 并手动杀死它使用 sudo kill -9 <进程PID using port 4200>

访问本地主机外的项目

例子:

ng serve --host 192.168.2.2:7006

用这三个命令:

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;

在Windows中;在运行ng服务的命令提示符中单击并按下键:

ctrl + c

它会问你:终止批处理作业(Y/N)? 然后输入Y