Myluzh Blog

解决Linux空间未释放问题:处理被删除文件的占用

发布时间: 2024-3-8 文章作者: myluzh 分类名称: Linux 朗读文章


1、使用lsof +L1命令可以显示被删除但仍然被进程使用的文件列表
lsof输出中,'deleted'表示文件已被删除但仍被打开;fd表示文件描述符;u、w、r代表文件状态:已删除、可写、可读。
root@iZbp12bkuvg20e1j3y9gtvZ:/# lsof +L1
COMMAND       PID       USER   FD   TYPE DEVICE SIZE/OFF NLINK      NODE NAME
systemd-j     259       root   40u   REG  252,1 33554432     0   1050630 /var/log/journal/20211227101608900922732804716574/system.journal (deleted)
2、进入/proc/{PID进程号}/fd
root@iZbp12bkuvg20e1j3y9gtvZ:/# cd /proc/259/fd
3、将文件描述符(fd)号置空
root@iZbp12bkuvg20e1j3y9gtvZ:/proc/259/fd# echo -n > /proc/259/fd/40
4、确认置空后的文件大小
root@iZbp12bkuvg20e1j3y9gtvZ:/proc/259/fd# lsof +L1
COMMAND       PID       USER   FD   TYPE DEVICE SIZE/OFF NLINK      NODE NAME
systemd-j     259       root   40u   REG  252,1        0     0   1050630 /var/log/journal/20211227101608900922732804716574/system.journal (deleted)

标签: lsof 空间 释放 占用 经常

发表评论