运行ng serve命令时,"端口4200已在使用中"

pez*_*rez 138 angular

我正在学习角度2,并且我第一次使用角度CLI项目来创建沙箱项目.

我能够运行命令"ng serve"并且效果很好.我想阻止它运行,所以我跑了"控制Z".

当我再次尝试运行"ng-serve"命令时,它给出了"端口4200已经在使用中".

我运行"PS"来获取PID的列表并杀死了角度cli的PID并再次运行"ng-serve"仍然它给出了相同的端口使用错误.

Bar*_*tra 252

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

sudo kill $(sudo lsof -t -i:4200)
Run Code Online (Sandbox Code Playgroud)

你也可以试试这个:

sudo kill `sudo lsof -t -i:4200`
Run Code Online (Sandbox Code Playgroud)

对于Windows用户:

端口号4200已在使用中.在cmd中键入以下命令:

netstat -a -n -o
Run Code Online (Sandbox Code Playgroud)

然后,通过右键单击终端找到端口号为4200的端口并单击查找,在"查找内容"中输入4200并单击"查找下一个":假设您发现端口号4200由pid 18932使用.在下面键入命令CMD:

taskkill -f /pid 18932
Run Code Online (Sandbox Code Playgroud)

  • 这对Windows用户不起作用 (31认同)
  • 您可以使用以下命令指定其他端口:`--port <new_port>` (5认同)
  • 这确实谋杀了我的浏览器窗口.我最终想通了......我在使用默认端口的现有角度实例上做了一个`^ Z`,傻我! (5认同)
  • 虽然我知道这是正确的解决方案,但这似乎不是一个可怕的解决方案吗?如果我想在另一个目录上运行```ng serve```怎么办?这样杀死服务器然后在其他地方重新启动服务器没有意义,还是我丢失了某些东西? (3认同)
  • 这会杀死默认浏览器.并没有帮助. (3认同)
  • 要在 Windows 中快速检查哪个 pid 正在使用端口 4200,请使用 netstat -a -n -o | findstr 4200 (2认同)

Ant*_*Kal 157

打开你cmd.exeadministrator,

然后找到PIDport 4200

netstat -ano | findstr :4200
Run Code Online (Sandbox Code Playgroud)

端口4200的Pid

这里我有3个PID:

  • 红色的是来自"ng-serve"(127.0.0.1:4200) LISTENING
  • 绿色的一个来自"你的浏览器"

仅杀死端口4200(杀死红色PID):

taskkill /PID 15940 /F
Run Code Online (Sandbox Code Playgroud)

注意:杀死绿色只会强行关闭浏览器.

taskkill pid 15940

现在你可以做"ng-serve"在同一个端口4200启动你的角度应用程序




额外的东西:

一个班轮:在寻找优化方法之后,以下是这个答案的单线命令:(特别感谢:Josep Alsina提供的这个提示)

for /f "tokens=5" %a in ('netstat -ano ^| find "4200" ^| find "LISTENING"') do taskkill /f /pid %a
Run Code Online (Sandbox Code Playgroud)

  • 为Windows命令提示添加了一行代码,谢谢^^. (7认同)
  • 记得在`cmd`中做,而不是`Git Bash`. (2认同)
  • Windows上用于GitBash的Syntsax netstat -ano | findstr:4200; taskkill -PID &lt;确定的PID&gt; -F (2认同)

Jul*_*ser 81

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

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

请记住,您需要使用Command + C杀死Angular的Web服务器.

  • command + C 是杀死任何进程的关键。我自己和其他开发人员急忙按下 command+z,这只是暂停进程而不是杀死它。 (3认同)
  • @jasmeet 按 Command+Z 也让我好几次了! (2认同)

Kap*_*man 51

如果你安装了 npm(我假设你使用 Angular 时也安装了 npm),那么你可以简单地运行npx kill-port 4200. 就是这样。


Emi*_*hov 18

不是ctrl + Z,你必须运行停止ctrl + C它工作,我检查


小智 14

使用此命令来终止:

pkill -9 ng
Run Code Online (Sandbox Code Playgroud)

  • 我在我的ubuntu 18.04上使用它.它闪现我的屏幕并带我到ubuntu登录杀死所有应用程序 (2认同)

Shu*_*rma 12

ng serve --port <YOUR_GIVEN_PORT_NUMBER>

您应该尝试使用上面的命令在您的给定端口上运行.


小智 9

当您使用时Ctrl+Z,您将暂停正在运行的任务但不要将其终止.您可以稍后使用命令fg恢复任务.如果你想退出ng serve,你应该使用Ctrl+C,其中也将释放4200端口.


Moh*_*oin 9

总之有不止一种解决方案:1)通过使用另一个端口来定义端口号,

ng serve --open --port 4201
Run Code Online (Sandbox Code Playgroud)

2)通过杀死进程

ctrl + c // for kill
Close all node terminal which is related for running the app.
Run Code Online (Sandbox Code Playgroud)

3) 类型

netstat -a -n -o

在命令提示符中然后找到相关的端口 PID 并通过

taskkill /F /PID (pid number)

4) 类型 netstat -ano|findstr :4200

获取包含端口号的外部地址PID,然后将其杀死

taskkill /PID (pid number)/F


小智 7

我正在分享这一点,因为这两个命令在我的 mac 上没有完成这项工作:

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

sudo kill `sudo lsof -t -i:4200`
Run Code Online (Sandbox Code Playgroud)

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

lsof -t -i tcp:4200 | xargs kill -9
Run Code Online (Sandbox Code Playgroud)


小智 7

Port 4200已在使用中。-port用于指定不同的端口错误原因系统中现有的应用程序(非角度)使用端口号 4200。这是一种非常罕见的情况。在这种情况下,您需要更改 Angular 应用程序的端口号,如下所述。您已经运行了 ngserve 并退出应用程序,您输入了 Control Z (Ctrl+Z),然后您输入了ng servethen 您将得到 port 4200 is already in use_ 错误。在这种情况下,您需要杀死之前的进程。

要更改我们的角度应用程序的端口号,请使用以下命令

ng serve --port 4201
Run Code Online (Sandbox Code Playgroud)

现在输入ng serve

我们的角度应用程序将运行在http://localhost:4201

要修复 Mac 和 Linux 操作系统(Ubuntu 等)中的端口 4200 已在使用中的错误,请使用以下命令

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
Run Code Online (Sandbox Code Playgroud)

在 Window 操作系统中打开命令提示符。使用以下命令修复端口 4200 已在使用错误。

netstat -a -n -o | findStr "4200"`
Run Code Online (Sandbox Code Playgroud)

使用以下命令获取进程 ID 并终止该进程

taskkill -f /pid 11128
Run Code Online (Sandbox Code Playgroud)


小智 6

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

kill -2 $(lsof -t -i:4200)
Run Code Online (Sandbox Code Playgroud)


Sal*_*med 6

最简单的一行命令:

 sudo fuser -k 4200/tcp
Run Code Online (Sandbox Code Playgroud)


Jay*_*iya 6

对于Windows:

打开命令提示符

类型: netstat -a -o -n

找到您要终止的进程的PID。

类型: taskkill /F /PID 16876

这个16876-是我要杀死的进程的PID-在这种情况下,进程是4200-检查附件。您可以提供任何端口号。

在此处输入图片说明

现在,键入:ng serve在同一端口4200上启动您的角度应用程序


Jos*_*hua 5

netstat -anp | grep ":4200"
Run Code Online (Sandbox Code Playgroud)

这将告诉您谁拥有端口。


shi*_*jin 5

ng serve --port 4201 --live-reload-port 4200
Run Code Online (Sandbox Code Playgroud)

并使用访问 localhost:4201

这应该作为临时解决方案。

或者

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


小智 5

使用 ctrl + z 将程序置于后台。在 Linux 上,您可以使用以下命令将会话恢复到前台:

fg ng serve

您不需要终止该进程。


sar*_* va 5

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

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

taskkill /im node.exe /f
Run Code Online (Sandbox Code Playgroud)


Yev*_*kov 5

现在,您可以设置--port 0为获取免费端口。

ng serve --port 0 // will get a free port for you
Run Code Online (Sandbox Code Playgroud)


SUR*_*ANE 5

Ubuntu OS 中的 VScode 终端使用以下命令杀死进程

lsof -t -i tcp:4200 | xargs kill -9
Run Code Online (Sandbox Code Playgroud)


小智 5

通过这三个命令:

  1. netstat -anb | 网络统计 查找斯特4200
  2. netstat-anbo| 查找斯特4200
  3. taskkill -f /pid 22416

Cmd => 应该以管理员身份运行

首先:检查是否正在监听

C:\Windows\system32>netstat -anb | findstr 4200 
Run Code Online (Sandbox Code Playgroud)

输出:

TCP  127.0.0.1:4200     0.0.0.0:0      LISTENING 
Run Code Online (Sandbox Code Playgroud)

第二:查找IP

C:\Windows\system32>netstat -anbo | findstr 4200 
Run Code Online (Sandbox Code Playgroud)

输出:

TCP    127.0.0.1:4200     0.0.0.0:0    LISTENING    22416 
Run Code Online (Sandbox Code Playgroud)

第三:杀掉端口

C:\Windows\system32>taskkill -f /pid 22416 
Run Code Online (Sandbox Code Playgroud)

成功:PID 22416 的进程已终止。

你应该找到你自己的pid;