linux不重启进程释放磁盘空间

早上服务器报警磁盘满了,登录上去把日志删掉后,执行du命令显示磁盘空间很多,以为问题已经解决了,发现报警还是未解除,执行df命令查看,发现磁盘占用还是满的。

centos偶尔会出现删除了文件,磁盘空间还是未释放的情况。像du和df命令结果差距很大,就是因为当一个文件被删除的时候,在文件系统的目录中已经不可见了,du不会再统计它了,但是还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除。df还会对他进行统计。

因为机器上应用太多,如果是挨个重启就比较麻烦,不用重启也可以释放空间的流程如下:

#查看已经删除但是进程还在使用的文件
ll /proc/*/fd/*|grep delete

在这里插入图片描述

#清除对应文件内容即可释放空间
echo > /proc/12682/fd/1

你可能感兴趣的:(linux,运维,服务器)