lsof 实战:文件被谁占用一查便知
Linux系统 2026-11-13 00:22 8

文件删了空间不释放、端口起不来说被占用,这些问题的答案都在 lsof 里。下面按“先判断、再动手、最后验证”的顺序展开,每一步都给出可核对的检查点。

涉及 lsof命令、文件占用、端口占用 的关键动作都写成了具体命令或配置项,可以照着走,也可以当检查表用。

查端口占用

lsof -i:80 直接列出占用端口的进程,比 netstat 输出更直观,含进程名与 PID。

查文件占用

lsof 文件路径显示哪些进程打开了这个文件,配合 -p PID 可反向查进程打开了哪些文件。

找回已删空间

lsof +L1 列出已删除但仍被进程持有的文件,重启对应进程空间即释放,避免盲重启。

查用户活动

lsof -u 用户名 看某用户打开的所有文件与连接,安全排查时定位异常会话。

注意事项

输出量大时配合 grep 过滤;权限不够只能看到自己的进程,查系统级占用要 root。

速查表

环节关键动作
查端口占用lsof -i:80 直接列出占用端口的进程,比 netstat 输出更直观,含进程名与 PID
查文件占用lsof 文件路径显示哪些进程打开了这个文件,配合 -p PID 可反向查进程打开了哪些文件
找回已删空间lsof +L1 列出已删除但仍被进程持有的文件,重启对应进程空间即释放,避免盲重启
查用户活动lsof -u 用户名 看某用户打开的所有文件与连接,安全排查时定位异常会话

常见问题

Q:按文中写法改完,怎么确认真的生效?
不要只看配置文件,用对应的验证命令或从外部视角复测一次;改完先小流量观察一段,再全量推进,出问题能马上回退。

Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。

Q:业务规模小,也要按这套标准来吗?
不需要一次到位。先把影响最大的两项做到位,剩余的随着业务增长逐步补齐,比一开始就追求完美更容易落地。

小结

回到这篇的 5 个环节:查端口占用、查文件占用、找回已删空间、查用户活动、注意事项。把这几个动作写进检查表,下次遇到同类问题按顺序过一遍,比凭经验跳步骤稳。

相关阅读:磁盘健康监控:SMART与坏道处理、任务队列入门:为什么不该用crontab跑重任务、SSH隧道与端口转发的实用场景。

延伸阅读:strace 跟踪:程序卡住时它在等什么、环境变量与 PATH:为什么命令找不到、内存占用高排查:从free到smem。

Powered by ©智简魔方