在 Linux 中查看进程和端口的对应关系,常用方法如下:
netstat(较老但常用)netstat -tunlp
参数说明:
-t:TCP-u:UDP-n:以数字显示端口-l:监听状态-p:显示进程信息示例输出:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
需要 root 权限才能看到所有进程:
sudo netstat -tunlp
ss(推荐,替代 netstat)ss -tunlp
功能和 netstat 类似,但更快。
查看某个端口被谁占用:
ss -tunlp | grep 8080
lsof(非常直观)查看某个端口:
lsof -i:8080
查看某进程使用的端口:
lsof -p 1234
查看所有监听端口:
lsof -i -P -n | grep LISTEN
pid 查端口(已知进程)cat /proc/1234/net/tcp
(不直观,一般不用)
sudo lsof -i:80
# 或
sudo ss -tunlp | grep :80
ps aux | grep nginx
sudo lsof -p <pid>
sudo lsof -i -P -n | grep java
| 命令 | 是否推荐 | 说明 |
|---|---|---|
| netstat | ⚠️ | 老工具,部分系统已移除 |
| ss | ✅ | 新系统推荐 |
| lsof | ✅ | 最灵活 |
如果你有具体系统(CentOS / Ubuntu)或想查某个进程/端口,可以告诉我,我可以给你更精确的命令。