排查Linux端口占用需用ss或netstat查监听进程,ss更轻量快速,netstat更直观;查8080端口运行ss -tuln | grep :8080,加sudo和-p显示PID与进程名;注意区分0.0.0.0、127.0.0.1等绑定地址,避免误判冲突。

排查Linux端口占用,核心是找到监听该端口的进程。netstat 和 ss 都能完成这项任务,但 ss 更轻量、更快,且在新系统中逐步替代 netstat;netstat 功能更直观,适合初学者理解网络状态。
快速查指定端口被谁占用
想确认 8080 端口是否被占用、是谁在用?直接运行:
- ss -tuln | grep :8080 —— 显示所有监听中的 TCP/UDP 端口,过滤出 8080 行(-t:TCP,-u:UDP,-l:仅监听,-n:数字格式,不解析域名和服务名)
- netstat -tuln | grep :8080 —— 效果类似,但启动稍慢,部分新版发行版默认不预装
输出中重点关注最后一列,如 1234/nginx 或 5678/java,前面数字是 PID,后面是进程名。
显示进程名和 PID(需 root 权限才完整)
普通用户执行时,可能看不到 PID 和进程名(显示为“-”或“*:*”)。要完整显示,加 -p 参数并提权:
- sudo ss -tulnp | grep :8080
- sudo netstat -tulnp | grep :8080
注意:-p 要求有 CAP_NET_ADMIN 权限,普通用户即使知道端口,也无法直接看到属主进程,这是安全设计。
标签: mysql linux java docker nginx 防火墙 端口 常见问题
还木有评论哦,快来抢沙发吧~