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

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

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

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


当前回答

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

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

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

其他回答

在linux mint 17上,这是工作的。

Kill -9 $(lsof -t -i:4200)

现在你可以设置——port 0来获得一个空闲端口。

ng serve --port 0 // will get a free port for you

Windows:

打开命令提示符和

类型:netstat -a -o -n

找到要终止的进程的PID。

类型:taskkill /F /PID 16876

这个16876 -是我想要杀死的进程的PID -在这种情况下,进程是4200 -检查所附文件。你可以给出任何端口号。

现在,输入:ng可以在相同的端口4200上启动angular应用

总之,解决方案不止一种: 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

端口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