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

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

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

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


当前回答

而不是杀死整个进程或使用ctrl+z,你可以简单地使用ctrl+c来停止服务器,并且可以轻松地使用ng serve命令而不会出现任何错误,或者如果你想在不同的端口上运行,只需使用这个命令ng serve——port portno(例如:ng serve——port 4201)。

其他回答

这是我用来杀死端口4200的进程

linux用户:

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

你也可以试试这个:

sudo kill `sudo lsof -t -i:4200`

windows用户:

端口号4200已被使用。以管理员身份打开cmd。在cmd中输入以下命令:

netstat -a -n -o

然后,在终端上右键单击,找到端口号为4200的端口,单击find,在“find what”中输入4200,然后单击“find next”: 假设您发现pid 18932使用了端口号4200。在cmd中输入以下命令:

taskkill -f /pid 18932

UNIX:

alias ngf='kill -9  $(lsof -t -i:4200);ng serve'

现在在终端项目文件夹中运行ngf(而不是ng serve)。这会杀死所有使用4200端口的进程,并运行你的Angular项目。

我也遇到过类似的问题,问题基本上是我在powershell中打开了多个运行终端。其他的都按Ctrl+c。

用这三个命令:

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;

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

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

并使用localhost:4201访问

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

or

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