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

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

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

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


当前回答

我分享这两个命令在我的mac上没有工作:

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

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

下面的一个做到了,但如果你在Visual Code中使用集成终端,尝试使用你的机器终端并添加fowling命令:

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

其他回答

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

如果你正在使用VSCode,你可以选择杀死终端并添加一个新终端。关闭选项卡并打开一个新选项卡。这对我很管用。

编辑: 使用ctrl+c并按y。在没有终止终端的情况下,您可以继续。 如果你想打开一个visual studio的新实例并运行一个不同的应用程序,你可以使用ng serve——port 4401。

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

Ubuntu 18.04版本

下面的命令起作用了。

sudo kill -9 $(lsof -i tcp:4200 -t)
ng serve --port 4201 --live-reload-port 4200

并使用localhost:4201访问

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

or

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

每次我必须关闭端口时,我都面临着同样的问题。

我尝试了。/node_modules/.bin/ng serve——proxy-config proxy.conf.json——host 0.0.0.0而不是npm start和它的工作