在项目设计中,环境配置成功点击运行瞬间,一大堆红爆出,8080端口占用,这个是很烦人的。。。
解决方式:
笨方法:一、查看所有端口实用情况(挨个扫)
按住【WIN+R】快捷键打开运行输入窗口,输入“cmd”指令,打开命令提示符窗口输入【netstat -ano】,系统将显示所有的端口占用信息。
【状态标识】
LISTENING:侦听状态;
ESTABLISHED:已经建立连接,并正在通信;
CLOSE_WAIT:对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT,此时我方要调用close()来使得连接正确关闭;
TIME_WAIT:我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
SYN_SENT:SYN_SENT状态表示请求连接,当我们要访问其它的电脑的服务时,首先要发个同步信号给该端口,此时状态为SYN_SENT。如果连接成功,就变为ESTABLISHED,此时SYN_SENT状态非常短暂。如果发现SYN_SENT非常多且在向不同的机器发出,我们的电脑可能中了病毒。病毒为了感染其它的电脑,会扫描其它的电脑,在这个过程中,会对每个要扫描的电脑都会发出了同步请求,这就是出现许多SYN_SENT的原因。
【PID(进程号)】作为一种身份别名
二、直接定位到要查的端口号
在命令窗口,输入【netstat -ano | findstr “指定端口”】,例如查询80端口。
三、杀死相应的占用进程
在命令窗口,输入【taskkill -pid 占用端口号 -f】,例如杀死287784端口。
再次查看进程已经被终止不存在了,大工搞成!!
注意:全程需要以管理员模式运行命令窗口