我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
当前回答
以管理员身份打开cmd.exe,
然后找到4200端口的PID
netstat -ano | findstr :4200
这里我有3个PID:
红色的来自“ng-serve”(127.0.0.1:4200) 绿色的来自"your browser"
只杀死4200端口(杀死红色PID):
taskkill /PID 15940 /F
注意:杀死绿色只会导致你的浏览器被强制关闭。
现在你可以使用ng-serve在4200端口上启动angular应用
附加内容:
一行:在寻找优化的方法之后,下面是这个答案的一行命令:(特别感谢:Josep Alsina提供的提示)
for /f "tokens=5" %a in ('netstat -ano ^| find "4200" ^| find "LISTENING"') do taskkill /f /pid %a
其他回答
总之,解决方案不止一种: 1)使用另一个端口定义端口号,
ng serve --open --port 4201
2)通过终止过程
ctrl + c // for kill
Close all node terminal which is related for running the app.
3)类型
Netstat -a -n -o
命令提示符 然后找到相应的端口PID,通过
taskkill /F /PID (PID数)
4)输入netstat -ano|findstr:4200
获取外部地址PID,其中包含端口号,然后杀死它
taskkill /PID (PID number)/F
我也遇到过类似的问题,问题基本上是我在powershell中打开了多个运行终端。其他的都按Ctrl+c。
端口4200已被使用。使用-port指定不同的端口错误原因 系统中使用端口号为4200的现有应用程序(不是angular)。这种情况非常罕见。在这种情况下,你需要修改angular应用的端口号,如下所示。 你已经运行了ng serve,并输入Control Z (Ctrl+Z)退出应用程序,然后你输入ng serve,然后你会得到端口4200 is already in use_ error。在这种情况下,您需要终止前一个进程。
要更改angular应用程序的端口号,请使用下面的命令
ng serve --port 4201
现在输入ng serve
我们的angular应用程序将运行在http://localhost:4201上
要修复端口4200已经在使用错误在Mac和Linux操作系统(Ubuntu等)使用以下命令
sudo kill $(sudo lsof -t -i:4200) Or
sudo kill `sudo lsof -t -i:4200` Or
sudo lsof -t -i tcp:4200 | xargs kill -9
在windows操作系统中打开命令提示符。使用以下命令修复端口4200已在使用错误。
netstat -a -n -o | findStr "4200"`
获取进程id并使用以下命令杀死该进程
taskkill -f /pid 11128
在我的案例中,以上提到的方法都不起作用。
Ubuntu 18.04版本
下面的命令起作用了。
sudo kill -9 $(lsof -i tcp:4200 -t)
我在这方面遇到了很大的麻烦,我甚至尝试了许多其他端口,但一无所获。
我安装了npm typescript@2.8,它解决了这个问题。由于某种原因,typescript版本导致冲突,使用yarn或ng serve无法工作。
希望这对其他有同样问题的人有用。