80/8080端口被System系统进程占用

在Eclipse中启动Tomcat失败,提示说8080端口已经被使用。
在这里插入图片描述
此时我们代开cmd,输入netstat -ano查询占用8080端口的进程。
在这里插入图片描述
结果显示占用进程的PID是4,打开任务管理器找出对应进程,发现占用的是System进程。
在这里插入图片描述
一般System进程不会占用8080端口,我们在cmd中输入netsh http show servicestate来查看一下当前的http服务状态。
在这里插入图片描述
发现此时8080端口被DefaultAppPool所占用,不仅如此,我电脑上的80端口也被其占用,此时我们继续往下翻找出对应的进程PID。
在这里插入图片描述
然后同上在任务管理器中找出该PID对应的进程。
在这里插入图片描述
发现是一个叫svchost.exe的进程。此时我们通过右键电脑–>管理进入到计算机管理,之后选择服务和应用程序下的IIS管理。
在这里插入图片描述
然后发现网站中的Default Web Site的端口被设为了80和8080。意味着只要你使用localhost:80或localhost:8080来打开网页打开的都只会是你Default Web Site中设置的网页,也就是这个静态网页占用了这两个端口(此时才想起来脑残的自己第一次写静态网页时按照网上的指导把端口设为了这两个)。
在这里插入图片描述
在选中这个之后我们就可以通过绑定这个选择来修改它绑定的端口了(也可直接选择删除这个网站)。
在这里插入图片描述
先随便添加一个不常用的端口,再把这两个绑定删除就好了。
在这里插入图片描述
然后Tomcat就能成功启动了。
在这里插入图片描述

### 解决 Windows 下 80 端口system 进程占用的方法 #### 方法一:通过命令行工具定位并终止占用端口进程 为了确认具体是哪一个进程占用80 端口,可以先执行如下命令: ```cmd netstat -ano | findstr "80" ``` 这条指令会返回类似 `TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 7796` 的输出,其中最后一列即为占用端口进程 ID (PID)[^1]。 接着可以通过任务管理器结束此 PID 对应的任务;或者直接在命令提示符窗口输入以下命令强制关闭指定 PID 的进程: ```cmd taskkill /F /PID <这里替换为实际查得的PID> ``` 请注意,在某些情况下,即使找到了具体的 PID 并尝试终止它,也可能因为权限不足而无法成功操作。此时建议重启计算机再试一次,或考虑其他替代方案。 #### 方法二:调整系统 HTTP.sys 配置 有时 80 端口是由系统的 WebDAV 或者 IIS 功能所预留使用的。对于这种情况,可采取下列措施来解决问题: 1. 停止当前正在运行的服务实例: ```cmd net stop http ``` 2. 设置 HTTP 协议栈不随系统自启加载: ```cmd sc config http start= disabled ``` 上述两条语句能够有效阻止 HTTP.sys 在下次开机时再次抢占 80端口资源[^3]。 另外一种情况可能是由于开启了 World Wide Web Publishing Service(W3SVC),这同样可能导致冲突发生。因此也可以试着停用 W3SVC 来排除干扰因素。 #### 方法三:更改应用软件监听端口设置 当确实有必要保留原有服务的同时又要部署新的 web 应用时,则可以选择改变应用程序自身的配置参数使其不再依赖于标准的 80 端口工作。比如针对 Tomcat 用户来说,只需编辑其安装目录下的 conf/server.xml 文件中的 Connector 节点属性即可实现目的[^4]: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 以上就是几种常见的应对策略,希望能够帮助到遇到此类困扰的朋友!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值