Linux - 文件被删除后,空间没有被释放
linux里的文件被删除后,空间没有被释放是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
解决方法
1、先df -lh查看一下磁盘使用状况
2、找到被删除文件所在的分区/root
3、查看被删除了的所有文件:lsof -n |grep deleted,结果如下:
解决:kill -9 pid
如果端口号比较多可以使用批量删除:
lsof -n|grep delete | awk 'kill -9 {print "kill -9 " $2 }' > bb.sh
执行上面命令生成bb.sh
然后执行bb.sh脚本
bash bb.sh
#lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
原文链接
版权声明:本文为CSDN博主「水煮胡萝卜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Doudou_Mylove/article/details/89134052
posted on 2022-10-28 11:13 frank_cui 阅读(3951) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?