在 Debian(以及其他 Linux 发行版)中,查看哪个进程占用了某个端口,常用方法如下:
ss(推荐,现代系统默认)ss -lntp
-l:监听中的端口-n:不解析服务名(显示数字端口)-t:TCP-p:显示进程信息示例(查看 80 端口):
ss -lntp | grep :80
netstat(老工具,可能需安装)netstat -lntp
如果提示命令不存在:
sudo apt install net-tools
lsof(非常直观)sudo lsof -i :端口号
例如:
sudo lsof -i :8080
输出中会显示:
ss -lntp | grep <pid>
或
lsof -p <pid>
# 1. 查看 3306 端口被谁占用
sudo lsof -i :3306
# 2. 假设看到 PID 1234
# 3. 查看进程详情
ps -fp 1234
| 场景 | 命令 |
|---|---|
| 快速查端口 | ss -lntp |
| 精确查某端口 | sudo lsof -i :端口 |
| 老系统 | netstat -lntp |
如果你有具体端口号或遇到“端口被占用”的错误,可以告诉我,我帮你分析。