文章目录
问题场景
解决方案
方法一:使用系统命令查找占用端口的进程
Windows 系统
Mac/Linux 系统
方法二:使用图形化界面工具
Windows 任务管理器
Mac 活动监视器
方法三:使用第三方工具
安装端口管理工具
使用 PowerShell (Windows)
预防措施(针对前端项目,如vue3项目)
1. 配置固定开发端口
2. 使用端口范围
3. 开发环境管理
常见问题排查
1. 权限不足问题
2. 进程立即重启
3. 端口状态异常
总结
作为开发者,你是否经常遇到 Port xxx is in use 的错误?本文将教你如何快速定位并解决端口占用问题。
问题场景
当你运行开发服务器时,经常会遇到这样的报错:
Port 5173 is in use, trying another one...
Port 5174 is in use, trying another one...
这意味着端口已被其他进程占用,需要先释放端口才能正常使用。
解决方案
方法一:使用系统命令查找占用端口的进程
Windows 系统
1. 使用 netstat 命令
# 查找特定端口的占用情况
netstat -ano | findstr :5173
# 显示结果示例:
# TCP 0.0.0.0:5173 0.0.0.0:0 LISTENING 12345
# TCP [::]:5173 [::]:0 LISTENING 12345
2. 查看进程详细信息
# 根据 PID 查看进程名
tasklist /FI "PID eq 12345"
# 显示结果示例:
# 映像名称 PID 会话名 会话# 内存使用
# node.exe 12345 Console 1 12,345 K
3. 终止进程
# 强制终止进程
taskkill /PID 12345 /F
# 成功提示:
# 成功: 已终止 PID 为 12345 的进程。
Mac/Linux 系统
1. 使用 lsof 命令
# 查找端口占用情况
lsof -i :5173
# 显示结果示例:
# COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
# node 12345 john 23u IPv4 0x1234 0t0 TCP *:5173 (LISTEN)
2. 快速终止进程
# 一步到位:查找并终止占用 5173 端口的进程
lsof -ti:5173 | xargs kill -9
# 批量终止多个端口
lsof -ti:5173,5174 | xargs kill -9
3. 替代命令(如果 lsof 不可用)
# 使用 netstat (Linux)
netstat -tulpn |