在启动服务的时候,可能会遇到端口被占用的情况。
这时候就需要知道哪个服务占用了这个端口,并将其关闭。
然后再启动服务就不会存在端口占用了。
这里以 Tomcat 的默认端口 8080 为例。
Win + R 输入cmd
,回车,打开命令窗口。
netstat -ano
C:\Users\Administrator>netstat -ano 活动连接 协议 本地地址 外部地址 状态 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:808 0.0.0.0:0 LISTENING 3672 TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1216 TCP 0.0.0.0:4369 0.0.0.0:0 LISTENING 4672 TCP 0.0.0.0:5040 0.0.0.0:0 LISTENING 7736 TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:5672 0.0.0.0:0 LISTENING 4164 TCP 0.0.0.0:7000 0.0.0.0:0 LISTENING 4284 TCP 0.0.0.0:7680 0.0.0.0:0 LISTENING 2160 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 13868 TCP 0.0.0.0:8089 0.0.0.0:0 LISTENING 15304 ......
这样会列出所有使用的端口,查看不太方便,我们一般使用下面的过滤查询。
netstat -ano|finstr "端口号"
C:\Users\Administrator>netstat -ano|findstr "8080" TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 13868 TCP 127.0.0.1:8080 127.0.0.1:61679 ESTABLISHED 13868 TCP 127.0.0.1:61679 127.0.0.1:8080 ESTABLISHED 7972
C:\Users\Administrator>netstat -ano|findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 13868 TCP 127.0.0.1:8080 127.0.0.1:61679 ESTABLISHED 13868 TCP 127.0.0.1:61679 127.0.0.1:8080 ESTABLISHED 7972
这里带不带双引号都能查出来。
查询结果最后一列的数字是进程号,也就是 PID。
查看使用端口的服务需要用进程号进行过滤。比如前面查出来的 7972。
tasklist|findstr "进程号"
C:\Users\Administrator>tasklist|findstr "7972" chrome.exe 7972 Console 1 31,408 K
C:\Users\Administrator>tasklist|findstr 7972 chrome.exe 7972 Console 1 31,408 K
这里带不带双引号都能查出来。
右键任务栏选择任务管理器,或者使用快捷键 Ctrl + Shift + Esc,打开任务管理器。
找到前面查出来的服务,右键或者点击右下角的结束任务,即可关闭服务。
使用进程号或者服务名都可以关闭指定服务
taskkill /f /t /im 进程号/服务名
C:\Users\Administrator>taskkill /f /t /im 7972 成功: 已终止 PID 7972 (属于 PID 10336 子进程)的进程。
C:\Users\Administrator>taskkill /f /t /im chrome.exe 成功: 已终止 PID 7972 (属于 PID 10336 子进程)的进程。