https://www.quanzhankaige.com/
方法一:ss 命令(推荐)
ss 是系统内置命令,速度最快,无需安装。
bash
# 查看所有正在监听的端口和进程
ss -tlnp
# 查看指定端口(以 8080 为例)
ss -tlnp | grep 8080
参数说明:
| 参数 | 含义 |
|---|---|
-t |
只显示 TCP 协议 |
-u |
只显示 UDP 协议 |
-l |
只显示监听中的端口 |
-n |
显示数字端口,不转换为服务名 |
-p |
显示占用端口的进程信息(需要 root) |
方法二:netstat 命令
bash
# 查看所有监听端口
netstat -tlnp
# 查看指定端口
netstat -tlnp | grep 8080
方法三:lsof 命令
bash
# 查看占用指定端口的进程
lsof -i :8080
# 查看所有监听端口
lsof -i -P -n | grep LISTEN
方法四:fuser 命令
bash
# 查看占用 8080 端口的进程 PID
fuser 8080/tcp
# 显示详细信息
fuser -v 8080/tcp
根据 PID 进一步查看进程详情
通过以上命令找到 PID(进程编号)后,可以继续查看进程详情:
bash
# 查看进程详情
ps aux | grep <PID>
# 查看进程的完整执行路径
ls -l /proc/<PID>/exe
快速参考:一句话查指定端口
bash
ss -tlnp | grep 8080
新手提示: 如果提示"权限不足"看不到进程名,在命令前加
sudo即可,例如:sudo ss -tlnp