前言:
眼前小伙伴们对“通过文件句柄获取文件信息”大致比较注重,姐妹们都需要剖析一些“通过文件句柄获取文件信息”的相关文章。那么小编在网络上收集了一些有关“通过文件句柄获取文件信息””的相关内容,希望我们能喜欢,我们快快来了解一下吧!我们经常会遇到服务器上的日志删除了,怎么服务器的磁盘空间还没有释放啊?
lsof |grep deleted 我们可以查看到删除的日志,是deleted的状态,但是文件的句柄并没有释放掉,所以磁盘空间仍然没有释放掉。
我们的常规做法是通过重启程序来解决文件句柄的释放,比如通过lsof我们可以抓取到对应的程序的pid
再通过ps aux|grep PID,我们可以找到对应的进程信息,通过重启该程序来释放文件句柄,从而达到释放磁盘空间的目的。
要么重启服务器(SRE服务重启工程师终极武器)。
然而有时候实际情况是不允许我们去重启服务器或者重启应用的,那么还有什么办法去释放文件句柄呢?
通过上面的截图,我们随便找一个进程号,比如进程号7850, 任何我们找到7850的进程目录
cd /proc/7850/fd && ls -l
我们看到 6 -> /tmp/pymp-huscz3_2/pym-44-dklcx37r (deleted),6这个链接文件定向到了
/tmp/pymp-huscz3_2/pym-44-dklcx37r这个已经deleted的文件了,我们只要清空下这个链接就可以了,我们可以执行 echo > 6
再次执行lsof |grep deleted会看到这个deleted已经没有了,空间也得到释放了(^_−)☆
标签: #通过文件句柄获取文件信息