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

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

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

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


netstat -anp | grep ":4200"

这会告诉你谁得到了端口。


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


不要用ctrl+Z,要停止进程一定要用ctrl+C


我也遇到了同样的错误msg,所以我尝试了ng serve—port 12012,它工作得很好。


以管理员身份打开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

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

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

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


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

并使用localhost:4201访问

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

or

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


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

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

如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。


当您使用Ctrl+Z时,您将挂起正在运行的任务,而不是终止它。后续可以使用fg命令恢复任务。 如果你想退出ng serve,你应该使用Ctrl+C来代替,这也会释放4200端口。


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

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


您还可以尝试在visual studio代码中运行应用程序-:

ng serve --open --port 4201

你可以给出任何端口号。


最简单的一行命令:

 sudo fuser -k 4200/tcp

Windows:

打开命令提示符和

类型:netstat -a -o -n

找到要终止的进程的PID。

类型:taskkill /F /PID 16876

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

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


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

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


可以在.angular-cli文件中更改端口。例如:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

另外,有必要在package.json中添加以下内容:

"ng": "ng",
"start": "ng serve"

它说我们已经在运行端口为4200的服务,请使用另一个端口而不是4200。下面的命令就是解决问题

Ng serve——端口4300


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


Port 4200 is already in use. Use '--port' to specify a different port

这意味着您已经在端口4200上运行了另一个服务。如果是这样的话 你可以选择。关闭另一个服务。运行ng时使用——port标志 这样上菜:

 ng serve --port 9001

另一件需要注意的事情是,在某些机器上,域localhost可能无法工作。 您可能会看到一组数字,例如127.0.0.1。当你发球时,它应该显示出来 你知道服务器运行在哪个URL上,所以一定要在你的机器上阅读消息 来查找您的确切开发URL。


如果是Linux操作系统,可以使用fuser -k 4200/tcp


终止进程并关闭你在该端口上运行应用程序的终端。


Ng serve -port 122345对我来说工作正常。


Netstat -plnet

tcp 00 127.0.0.1:4200 0.0.0.0:* LISTEN 1001 63955 7077/ng

杀死-9 7077

再次开始你的ng发球。


使用这个命令杀死ng:

pkill -9 ng

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

ctrl + c

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


作为任何更改后的第一步,我使用ng build,然后使用ng serve。它工作起来没有任何问题。


ng serve——port <YOUR_GIVEN_PORT_NUMBER>

您应该尝试在给定端口上运行上述命令。


唯一对我有用的是重启我的系统/设备…

使用Webstorm IDE由JetBrains。


只要重新启动您正在使用的IDE,它就可以工作了。


访问本地主机外的项目

例子:

ng serve --host 192.168.2.2:7006

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

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


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


用ctrl + z你把程序放在后台。 在Linux上,你可以用下面的命令让会话回到前台:

发球

您不需要终止进程。


我分享这两个命令在我的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

用于Ubndu 18.04 Sudo lsof -t -i tcp:3000 | xargs kill -9

当港口终止不成功时发生 因此,这个命令将终止它4200或3000或3300任意


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

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

taskkill /im node.exe /f

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


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

Ubuntu 18.04版本

下面的命令起作用了。

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

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

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

我在这方面遇到了很大的麻烦,我甚至尝试了许多其他端口,但一无所获。

我安装了npm typescript@2.8,它解决了这个问题。由于某种原因,typescript版本导致冲突,使用yarn或ng serve无法工作。

希望这对其他有同样问题的人有用。


如果是Windows操作系统,请打开“任务管理器”,并终止该进程。

TaskManager


似乎另一个程序正在使用您的默认端口4200。好消息是,4200以上的端口通常是免费的。再选一个吧。例如:

ng serve --port 4210

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

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

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


VScode终端在Ubuntu操作系统中使用以下命令杀死进程

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

windows用户:

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

netstat -a -n -o

在这里输入图像描述

找到要终止的进程的PID。

步骤2.在cmd中执行命令:

taskkill /F /PID 6500

第三步:现在,输入:

Ng可以在同一个端口4200上启动你的angular应用


在我的Ubuntu上,我输入了crl+z来关闭终端,之后我无法访问localhost:4200。唯一的解决办法是:

$ sudo fuser -k 4200/tcp

然后重新启动服务器。


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

如果你已经安装了npm,如果你正在使用angular,我假设你已经安装了,那么你可以简单地运行npx kill-port 4200。就是这样。


ng serve --open 

分配一个本地主机来承载项目。在同一个目录下运行相同的命令时,系统会在端口已经被使用的地方分配localhost:port。要覆盖这个问题,可以很容易地运行以下命令:

ng serve --port

这将为项目分配一个新的端口,而不会干扰当前的本地主机端口。


用这三个命令:

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;


对我来说,这个命令在Ubuntu中是有效的

sudo fuser -k 4200/tcp for killing other ports