端口被占用了有什么方法解决

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
卡布琦诺 2019-08-23 19:23:38

同学您好,同学使用的是git bash here命令工具吗?如果是,那么原因很简单,新版的git有一个问题,就是在ctrl+c时候,关不掉node的进程了,所以进程一直存在,再次运行项目就会提示端口被占用,可按照如下操作步骤进行解决:

依次输入如下命令(这里假设我的端口是3000):

1)netstat -ano |findstr 3000

2)找出之后会有对应的PID号

3)然后输入命令结束掉这个进程 taskkill /pid 17348 /F

图示:

http://img1.sycdn.imooc.com//climg/5d5fcca30001a50e08000172.jpg

希望可以帮到你!

好帮手慕糖 2019-08-22 09:30:55

同学你好,老师这里的描述不太精准,可以将提示有端口占用的这个软件,重新启动下。

另,一般端口占用的话,在命令行中都是可以查到的哦。可以在查看下是否是输入命令有误等原因。也可以重启下电脑。之后在试一下。

希望能帮助到你,祝学习愉快!

  • 提问者 LostInDark #1
    协议 本地地址 外部地址 状态 PID TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 908 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:49664 0.0.0.0:0 LISTENING 604 TCP 0.0.0.0:49665 0.0.0.0:0 LISTENING 1188 TCP 0.0.0.0:49666 0.0.0.0:0 LISTENING 272 TCP 0.0.0.0:49667 0.0.0.0:0 LISTENING 1788 TCP 0.0.0.0:49668 0.0.0.0:0 LISTENING 736 TCP 0.0.0.0:49688 0.0.0.0:0 LISTENING 744 TCP 127.0.0.1:28299 0.0.0.0:0 LISTENING 6628 TCP 127.0.0.1:31749 0.0.0.0:0 LISTENING 6920 TCP 127.0.0.1:50000 0.0.0.0:0 LISTENING 5612 TCP 192.168.0.104:139 0.0.0.0:0 LISTENING 4 8080端口被占用,开启新端口31749 重启也不管用 不知道哪里的问题
    2019-08-22 20:35:32
好帮手慕糖 2019-08-21 19:27:31

同学你好,是不是有缓存呢?建议:可以清除下缓存,或者重启试一下。

希望能帮助到你,祝学习愉快!

  • 提问者 LostInDark #1
    怎么清缓存呀?
    2019-08-21 19:47:51
提问者 LostInDark 2019-08-21 17:02:59

我把cmd 打开看了一下,8080没有被占用,运行项目提示被占用,网上也搜出原因?

好帮手慕糖 2019-08-21 16:37:32

同学你好,1、端口被占用,会默认分配一个新的,比如原来的8080别占用了,就会分配一个8081,(若8081也被占用,会分配8082),就是若原来的端口号被占用就会分配新的。

所以建议:一般要关闭项目的时候,先ctrl+C退出项目运行,这样再次运行的时候,会是原来的端口哦,不过这个也存在特殊情况,假如有缓存之类的,原来的端口还被占用,也会分配新的,不过一般退出之后,就不会占用了。其实这个没有影响的,下次电脑重启的时候,都不会被占用,会从8080开始的。

2、若想手动接触的话,可以参考如下(以下以我们的8080端口为列,):

(1)在命令行中输入netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,这里是找到占用的8080,

http://img1.sycdn.imooc.com//climg/5d5d02810001da3f06140257.jpg


(2)查看被占用端口对应的PID,即,后面的2724,若觉得有点多,不太好找的话,

输入命令:netstat -aon|findstr "8080" (这里以8080端口为例),回车,记下最后一位数字,即PID,这里是2724。


http://img1.sycdn.imooc.com//climg/5d5d02aa0001ec7506020027.jpg

(3)继续输入tasklist|findstr "2724",回车,查看是哪个进程或者程序占用了端口,结果是:node.exe

(4)在cmd的命令窗口中输入:taskkill /f /t /im node.exe,即可,结束进程,解除占用的端口。

http://img1.sycdn.imooc.com//climg/5d5d02c200018d4106270058.jpg


希望能帮助到你,欢迎采纳。

祝学习愉快!

  • 提问者 LostInDark #1
    我把cmd 打开看了一下,8080没有被占用,运行项目提示被占用,网上也搜出原因?
    2019-08-21 17:03:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师