温馨提示×

linux如何查看进程端口

小樊
59
2026-08-20 13:25:30
栏目: 智能运维

在 Linux 中,查看进程占用的端口常用以下几种方式,按使用频率由高到低介绍:


✅ 1. 使用 ss(推荐,现代系统)

ssnetstat 的替代工具,速度更快。

查看所有监听端口及对应进程

sudo ss -lntp

查看所有端口(监听 + 已连接)

sudo ss -antp

示例输出:

LISTEN 0 128 0.0.0.0:80  0.0.0.0:* users:(("nginx",pid=1234,fd=6))
  • -l:监听端口
  • -n:不解析服务名
  • -t:TCP
  • -u:UDP
  • -p:显示进程

✅ 2. 使用 netstat(较老但仍常用)

sudo netstat -lntp

或查看所有连接:

sudo netstat -antp

如果提示未安装:

sudo apt install net-tools   # Debian/Ubuntu
sudo yum install net-tools   # CentOS

✅ 3. 已知端口,查进程(最常用)

查看某端口被哪个进程占用

sudo ss -lntp | grep :80

sudo netstat -lntp | grep :80

✅ 4. 已知进程,查端口

方法一:ps + ss

ps aux | grep nginx
sudo ss -lntp | grep nginx

方法二:通过 /proc

ls -l /proc/1234/fd

(1234 是 PID)


✅ 5. 使用 lsof(非常直观)

查看端口占用

sudo lsof -i :80

查看某进程打开的所有端口

sudo lsof -i -P -n -p 1234

✅ 6. 常见组合速查表

需求 命令
查看所有监听端口 ss -lntp
查看所有 TCP 连接 ss -antp
查端口 8080 被谁占用 `ss -lntp
查进程 nginx 的端口 `lsof -i -P -n
查 PID 1234 的端口 lsof -i -P -n -p 1234

✅ 推荐总结

  • 首选ss -lntp
  • 查端口 → 进程lsof -i :端口
  • 查进程 → 端口lsof -p PID

如果你愿意,可以告诉我是 CentOS / Ubuntu / Docker / Kubernetes 环境,我可以给你更精确的命令。

0