磁盘清理了文件怎么空间还是不变,磁盘清理会将所有文件都清理了吗

首页 > 实用技巧 > 作者:YD1662024-01-07 00:53:35

使用lsof查询一下刚刚删除的test.bin文件的情况:

lsof | grep deleted

磁盘清理了文件怎么空间还是不变,磁盘清理会将所有文件都清理了吗(5)

看来确实是被tail这个ID为292709的进程占用了,使用ps命令看一下tail进程的详细信息:

磁盘清理了文件怎么空间还是不变,磁盘清理会将所有文件都清理了吗(6)

看下进程ID为292709进程的描述符信息(Linux系统上进程打开一个文件时,都会为其分配一个描述符fd,通过/proc/进程ID/fd可以看到进程所有的打开文件信息)

磁盘清理了文件怎么空间还是不变,磁盘清理会将所有文件都清理了吗(7)

看来确实是tail这个进程占用了test.bin,导致没能真正删除。

2.2 问题解决

解决这个问题有两种办法:

1)由于是tail进程占用了文件,所以直接kill掉tail进程即可,但是这里有一个问题,如果是生产环境,肯定不能随随便便就*掉一个业务进程,因为这样可能会影响客户的业务使用。

2)直接清空文件

echo "" > /proc/292709/fd/3

再次查看一下根目录的空间占用,发现磁盘空间已经被释放了:

磁盘清理了文件怎么空间还是不变,磁盘清理会将所有文件都清理了吗(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.