windows中程序端口被占用解决步骤
windows中程序端口被占用解决步骤
- 前言
- 一、问题场景
- 二、使用步骤
- 1.查找占用 8181 端口的进程
- 2.根据 PID 找到程序并关闭它
- 总结
前言
随记一下,我们在开发的过程中是不是经常遇到端口被占用的情况,尤其是在启动一个java项目,然后报错“端口被占用”比较烦人,现在就叫你一招迅速解决这个问题。
一、问题场景
比如我的java项目在启动时候,报了端口被占用了,恶心:
***************************
APPLICATION FAILED TO START
***************************Description:Web server failed to start. Port 8181 was already in use.Action:Identify and stop the process that's listening on port 8181 or configure this application to listen on another port.
我们如果换端口,那么前端也要改端口,我习惯是杀掉这个进程!
二、使用步骤
1.查找占用 8181 端口的进程
1.1 在任务栏的搜索框中输入 cmd 或 PowerShell,然后选择 “以管理员身份运行”。这一点很重要,因为后续的终止命令可能需要管理员权限。
1.2 在打开的窗口中,输入以下命令并按回车:
netstat -ano | findstr :8181
命令解释:
netstat -ano:显示所有网络连接和监听端口,并显示对应的进程ID。
findstr :8181:在结果中查找包含 :8181 的行。
1.3 查看命令输出。你会看到类似这样的信息:
TCP 0.0.0.0:8181 0.0.0.0:0 LISTENING 12345
TCP [::]:8181 [::]:0 LISTENING 12345
这里最关键的是最后一列的数字 12345,这就是 PID。
2.根据 PID 找到程序并关闭它
2.1 回到刚才的命令行窗口。
2.2 输入以下命令(将 12345 替换为你实际查到的 PID),然后按回车:
taskkill /PID 12345 /F
命令解释:
taskkill:终止任务的命令。
/PID 12345:指定要终止的进程ID。
/F:强制终止进程。
如果成功,你会看到 成功: 已终止 PID 为 12345 的进程。
如果失败了,报错如下:
C:\Windows\System32>taskkill /PID 12345 /F
错误: 由于超时时间已过,该操作返回。
则可以以管理员身份运行PowerShell 强制终止,执行如下命令:
Stop-Process -Id 12345 -Force
总结
强制终止的后果:使用 /F 参数或结束任务会强制关闭程序,未保存的数据可能会丢失。请确保你了解该程序的作用,如果是重要服务,请通过正常方式停止。
