在 CentOS 中查看进程占用了哪个端口或某个端口被哪个进程占用,常用以下几种方法:
netstat(最常见,需安装)netstat -tunlp
参数说明:
-t:TCP-u:UDP-n:以数字显示端口-l:监听中的端口-p:显示进程信息示例(查看 8080 端口):
netstat -tunlp | grep 8080
如果提示
command not found:
yum install -y net-tools
ss(推荐,CentOS 7+ 自带)ss -tunlp
查看指定端口:
ss -tunlp | grep 8080
lsof(非常直观)lsof -i :8080
输出示例:
java 12345 user 45u IPv6 0x... 0t0 TCP *:8080 (LISTEN)
查看所有监听端口:
lsof -i -P -n | grep LISTEN
若未安装:
yum install -y lsof
拿到 PID 后:
ps -ef | grep 12345
# 或
cat /proc/12345/cmdline
查看防火墙是否放行:
firewall-cmd --list-ports
| 场景 | 命令 |
|---|---|
| 快速查端口占用 | ss -tunlp |
| 精确查某端口 | lsof -i :端口 |
| 老系统兼容 | netstat -tunlp |
如果你有具体端口号或进程名,我可以给你更精确的命令。