在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink)。然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
但是在生产环境中,关掉进程来解决肯定是不行的,风险及影响太大,所以就需求其他解决方案。
如果被删除了,还占用,肯定是还在读写,windows会无法删除。
linux不同,linux打开一个文件的时候,Linux内核会为每一个进程在proc建立目录,如
/proc/pid/fd/ //pid为进程id
pid为名的目录用来保存进程的相关信息,而其子目录fd保存的是该进程打开的所有文件的fd的关联映射。
解决方法
echo "" > 15 //15为映射的文件名,写为空就可以了
原创文章,作者:何故,如若转载,请注明出处:https://www.htm5.cn/1488.html