linux磁盘空间已满,手动rm -rf 删除了大文件之后,df -h 查看一下发现空间占用还是不变,有时候会想rm -rf 删除只是逻辑删除到回收站一样?其实不然,通常这种情况都是文件被删除,但是还被进程占用,因此删除文件空间未释放
通常的建议是kill 掉对应的进程,但是如果是生成环境,不能轻易kill进程的话,可以通过置空文件的方式来释放空间
两种方法:
1.清理进程的FD_NUM
通过lsof | grep deleted 找到未能删除掉的文件,确定占用的进程号 通过 ls -l /proc/PID/fd/* | grep 文件名,找到相应文件句柄 清除文件内容 echo > /proc/PID/fd/FD_NUM
2.置空文件
lsof | grep delete
echo " " >/tmp/acess.log