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

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

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

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


当前回答

在我的案例中,以上提到的方法都不起作用。

Ubuntu 18.04版本

下面的命令起作用了。

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

其他回答

这是我用来杀死端口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项目。

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

ctrl + c

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

要停止在windows中运行的所有本地端口,只使用这个简单的注释,而不是使用netstat单独搜索pid,

它会找到所有的pid并停止当前正在运行的本地端口,

taskkill /im node.exe /f

关闭命令提示符(cmd),然后使用文本编辑器终端或仅使用cmd来运行命令。

对我来说,这就是问题所在,以及我是如何解决它的。

大多数时候你是使用命令提示符创建angular应用的。然后你试着在文本编辑器中运行应用终端。当你试图保存时,你可以看到一些东西在Windows命令提示符上运行。因此,只需关闭它,并在文本编辑器的终端中运行命令。

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

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