网站首页 文章专栏 rm 删除文件但磁盘空间没释放lsof解决
rm 删除文件但磁盘空间没释放lsof解决
编辑时间:2023年1月18日 10:42 作者:赵彦昌 浏览量:3127


在linux 系统下。如果使用 > filename 再删除 。可以避免这种情况发现。虽然这样进程还是记录的打开这个文件。但不影响释放磁盘空间

但如果你已经使用 rm 删除文件 。并且进程没有释放该文件打开的描述符。那么该文件所在的磁盘空间,一直会占用磁盘空间。

要想释放删除文件后,也让磁盘空间释放,使用下面的解决方法:

1. lsof | grep deleted 找到运行中的进程,并 kill 到该进程,也达到磁盘空间释放。

2. 通过 lsof | grep deleted 找到 pid 进程和fd 号 ,已删除和文件。 > /proc/<pid>/fd/<fd> 已达到释放磁盘空间

第一种方式,在这里不在表明。

我们来实战一下。第二种方法

查看lsof 标题

lsof | head -n 10

# 查看已删除的文件,(可以看到 1w 是fd 号)

lsof | grep deleted

清空文件

> /proc/5583/fd/1


结果战斗!


来说两句吧
最新评论