我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
这是我用来杀死端口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项目。
以管理员身份打开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>
如果你同时在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和它的工作
Windows:
打开命令提示符和
类型:netstat -a -o -n
找到要终止的进程的PID。
类型:taskkill /F /PID 16876
这个16876 -是我想要杀死的进程的PID -在这种情况下,进程是4200 -检查所附文件。你可以给出任何端口号。
现在,输入:ng可以在相同的端口4200上启动angular应用
可以在.angular-cli文件中更改端口。例如:
"defaults": {
"styleExt": "css",
"component": {},
"serve": {
"port": 4205
}
}
另外,有必要在package.json中添加以下内容:
"ng": "ng",
"start": "ng serve"
而不是杀死整个进程或使用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。
Netstat -plnet
tcp 00 127.0.0.1:4200 0.0.0.0:* LISTEN 1001 63955 7077/ng
杀死-9 7077
再次开始你的ng发球。
如果你正在使用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
我分享这两个命令在我的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
在我的案例中,以上提到的方法都不起作用。
Ubuntu 18.04版本
下面的命令起作用了。
sudo kill -9 $(lsof -i tcp:4200 -t)
我在这方面遇到了很大的麻烦,我甚至尝试了许多其他端口,但一无所获。
我安装了npm typescript@2.8,它解决了这个问题。由于某种原因,typescript版本导致冲突,使用yarn或ng serve无法工作。
希望这对其他有同样问题的人有用。
关闭命令提示符(cmd),然后使用文本编辑器终端或仅使用cmd来运行命令。
对我来说,这就是问题所在,以及我是如何解决它的。
大多数时候你是使用命令提示符创建angular应用的。然后你试着在文本编辑器中运行应用终端。当你试图保存时,你可以看到一些东西在Windows命令提示符上运行。因此,只需关闭它,并在文本编辑器的终端中运行命令。
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
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;