查看端口占用情况¶
Windows 系统(CMD 或 PowerShell)¶
打开 命令提示符(以管理员身份运行) 或 PowerShell。
-
查看指定端口是否被占用(推荐,最常用):
netstat -aon | findstr ":端口号" -
查看所有端口占用情况:
netstat -ano -
解释输出:
-
如果看到
LISTENING状态,且最后一列有 PID(进程ID),则端口被占用。 -
没有输出或没有 LISTENING,则端口未被占用。
-
-
根据 PID 查看是哪个程序占用:
tasklist | findstr "PID号" -
结束占用进程(小心使用):
taskkill /f /pid PID号或
taskkill /f /im 程序名.exe
Linux 系统¶
打开终端(推荐使用 ss 或 lsof,netstat 可能需要安装 net-tools)。
-
使用
ss(现代 Linux 首选,速度快):ss -tuln | grep ":端口号"或查看所有监听端口:
ss -tuln -
使用
lsof(最清晰,能直接看到进程名):sudo lsof -i :端口号 -
传统方式:使用 netstat:
sudo netstat -tunlp | grep ":端口号"或查看所有监听端口:
sudo netstat -tunlp -
解释输出:
-
如果有输出(显示 PID/Program name),则端口被占用。
-
没有输出,则端口未被占用。
-
-
根据 PID 查看进程详情:
ps -ef | grep PID号 -
结束占用进程:
sudo kill -9 PID号
部分注意事项¶
-
端口号常见示例:
-
80(HTTP)
-
443(HTTPS)
-
8080(开发常用)
-
3306(MySQL)
-
3307(MariaDB)
-
3308(PostgreSQL)
-
3309(Oracle)
-
3310(MongoDB)
-
-
如果命令不存在:
- Linux:
sudo apt install net-tools lsof(Debian/Ubuntu)
- Linux: