Linux 查看端口占用进程,记这几个命令就够了

场景:启动服务发现端口被占,或者怀疑某个端口有异常进程。别去翻 /proc,直接上命令。

1. lsof(最常用)

# 查看 8080 端口被谁占
lsof -i :8080

# 只看 LISTEN 状态的
lsof -i :8080 -s TCP:LISTEN

# 只看进程 PID(脚本里用)
lsof -i :8080 -t

输出里看 COMMAND(进程名)和 PID(进程号),直接 kill -9 PID 完事。

注意:部分容器或最小化系统没装 lsof,先 yum install lsofapt install lsof

2. ss(现代系统推荐)

netstat 已被弃用,ss 更快更准。

# 查看所有监听端口
ss -tlnp

# 只看 3306 端口
ss -tlnp | grep 3306

# 只看某个端口,精确匹配
ss -tlnp sport = :3306

参数说明:-t TCP,-l 监听,-n 不解析服务名,-p 显示进程。

3. fuser(轻量级)

如果你只想知道谁占了端口,想直接杀掉:

# 查看 80 端口进程
fuser 80/tcp

# 直接杀掉占端口的进程
fuser -k 80/tcp

输出是 PID,配合 -k 直接干掉。适合写脚本一键释放端口。

4. 组合拳:一条命令搞定

# 查端口 → 杀进程
fuser -k 8080/tcp

# 或者更安全:先看再杀
lsof -i :8080 && lsof -i :8080 -t | xargs kill -9

5. 特殊情况

  • 权限不足:加 sudo,否则看不到别人的进程。
  • 端口范围lsof -i :1-1024 看特权端口。
  • 容器环境:在宿主机上用 nsenterdocker exec 进容器查。

6. 实际排障流程

# 1. 确认端口占用
ss -tlnp | grep 8080

# 2. 找到 PID(假设是 12345)
# 3. 看进程详情
ps aux | grep 12345

# 4. 决定是否干掉
kill -9 12345

记住:先 sslsof 查,别直接重启机器。端口占用 90% 是应用没正常退出或端口配置冲突。

快速记忆

命令 适用场景 一句话
lsof -i :端口 通用查占用 最直观,信息全
ss -tlnp 查监听端口 速度快,系统自带
fuser 端口/tcp 快速杀进程 一条命令搞定

就这些,够用了。遇到端口问题先跑一遍 ss -tlnp | grep 端口号,10 秒定位问题。

📚 推荐资源

– 部分链接含推广返佣 –

🪐 加入「渗透实战安全圈」

每天分享渗透测试实战、挖洞技巧、漏洞分析、工具推荐

知识星球

https://t.zsxq.com/40MyD

💻 安全运维 / Linux运维 / 渗透测试 技术支持
业务需求可联系博客作者

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注