Linux中如何优雅的删除被打开的文件

linux中如果磁盘满了,删除较大文件的步骤
1、查找较大文件
find / -type f -size +500M 查找大于500mb的文件
2、如何删除
如果是没有打开的文件使用 rm
如果是正在被使用的文件,并且打开文件的程序不能被kill
如果使用rm后磁盘还是没有变化使用
lsof | gerp deleted 查看需要被删除的文件被那些进程打开
然后使用截断将文件截断,释放内存
> /proc/16295/fd/5 其中16295是pid 5是fd
查找fd使用 lsof -p pid 会列出进程打开的所有fd
如果可以找到文件直接使用截断
> /xxx.xx 文件的路径

查看文件
ls -lh 列出文件大小并带有单位
ls -l --block-size=k/m/g以不同的单位进行显示
参考的文档:
https://unix.stackexchange.com/questions/68523/find-and-remove-large-files-that-are-open-but-have-been-deleted

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值