windows如何解决端口被占用的问题

avatar
作者
猴君
阅读量:0

一、对端口的查看

1、打开黑窗口:

同时按下win+R(快捷键)后,在栏目中输入cmd(命令提示符,即命令窗口),点击确定。

 2、查看端口被占用的情况:

(1)、输入命令netstat-ano,会显示所用被占用的端口及其相关信息。

netstat-ano

PID(全称为Process Identification,进程标识符,即进程编号)。

 补充:

netstat后还可跟其他参数,参数不同,效果有点点区别。

1>netstat -a会显示自己的主机名,

2 >netstat -an,与netstat -ano相比,缺少端口对应进程的PID,看起来更简洁。

 

 3>LISTENING(listening)状态表示该端口开放,可提供服务,正在监听(等待请求)。

4>ESTABLISHED(established)状态表示连接已经产生,正在进行数据通信。

5>TIME_WAIT(time_wait)状态表示正在等待连接(即端口已经收到了外界发送的连接请求,但可能由于网速,也可能是其他问题,外界请求连接该端口但尚未连上)。

6>SYN_SENT(syn_sent)状态表示三次握手,常时间没TIME_WAIT仍没连上,会转为SYN_SENT状态,即外界(可以是本机)想连接端口,但端口没有响应。

7>FIN_WAIT1(fin_wait1)状态:

 在TCP连接中,客户机主动关闭连接,则向服务端发送FIN,客户机进入FIN_WAIT1状态,被关闭服务端响应进行确认(ACK),客户机接收后进入FIN_WAIT2状态。随后被关闭的服务端发送FIN给客户机,客户端响应进行确认(ACK)后,客户机进入TIME_WAIT。

 (2)输入命令netstat -ano|findstr "6380":(查询端口6380相关信息)

netstat -ano|findstr "6380"

 可查看某一端口的占用状态,这里以端口6380为例,被进程号为18568的进程占用。

 二、关闭进程

1、方法一:通过任务管理器关闭占用端口的进程:

(1)同时按下(ctrl+alt+delete,快捷键)后,点击选项中的任务管理器。

 (2)点击详细信息,根据之前在黑窗口中查找到的PID,定位到要关闭的进程,选中后,点击结束任务。

 2、方法二:通过黑窗口的命令关闭:

(1)根据上面的步骤,已经通过netstat -aon|findstr "6380"找到了端口6380对应的进程号PID为5448。

netstat -aon|findstr "6380"

(2)执行命令tasklist | findstr 进程号,可获取进程号18568对应进程名redis-server.exe

tasklist | findstr 18568

 (3)执行命令taskkill /f /t /im 进程名。

taskkill /f /t /im redis-server.exe

补充:通过进程号PID关闭正在执行的进程。

执行命令taskkill /pid 进程号 /f(因为之前PID18568对应的进程已经被关闭,所以开进程和关进程的操作再重新进行一次)。

1>开启redis:

2>通过端口号6380获取对应进程PID19056

 3>执行命令taskkill /pid 进程号 /f:

C:\Users\HUAWEI>taskkill /pid 19056 /f

三、通过进程号(PID)查看端口(port):

使用命令netstat -ano | findstr 进程号。

 如上图,根据进程号18568(PID)可获取该进程对应的端口6380(port)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!