目录
一、被程序占用端口
1.通过终端杀掉占用端口的进程
2.任务管理器
二、被系统列为保留端口
前言:
首先了解为什么会出现端口被占用的情况
端口被占用的情况可能出现的原因有很多,主要有以下几点:
1.多个应用程序同时启动,并且都尝试使用同一个端口进行通信。
2.之前的程序没有正常关闭,导致端口仍处于占用状态。
3.某些恶意程序或病毒会尝试占用特定端口进行非法操作。
3.系统或网络管理员配置错误,导致端口被意外占用。
一、被程序占用端口
1.通过终端杀掉占用端口的进程
以8080端口为例
(1) Win + R 打开 命令提示符 输入cmd 打开黑窗口 在黑窗口中输入命令查看被占用端口
// 查看端口情况
netstat -ano | findstr 8080
TCP 协议
0.0.0.0:8080 本地地址
0.0.0.0:0 外部地址
LISTENING 端口处于侦听状态
4804 PID
(2) 输入命令查询终端进程名、此处PID为4804
// 查询占用终端进程名
tasklist | findstr 4804
(3) 杀掉名为java.exe的进程
// 杀死进程
taskkill -f -t -im java.exe
2.任务管理器
同上(1)的方法查看端口情况,打开任务管理器、在详细信息中PID一栏中找到选中对应的PID结束任务即可
二、被系统列为保留端口
当我们进行上述操作时,任找不到占用的进程。可能是因为Windows系统会保留一些端口,这些端口处于被系统保留的端口序列中。
为什么会保留这些端口呢?
1.发现病毒活动而被微软屏蔽
2.安装过Windows update后,保留端口列表发生变化
3.开起了Hyper-V 特性
在黑窗口中运行命令查看保留端口、在下图开始端口和结束端口下方会显示保留端口
netsh interface ipv4 show excludedportrange protocol=tcp
解决方法:
1.将被占用的程序端口换用其他端口
2.关闭Hyper-V 特性
3.将端口设置为Administered port exclusions,执行命令
netsh int ipv4 add excludedportrange protocol=tcp startport=55500 numberofports=100
执行命令,再次查询保留端口就会显示上图中的情况