我很困惑如何删除(删除)文件,但仍然被一个进程链接,仍然被写入。我的理解是,文件名是指向inode的目录中的条目。 inode是一个数据结构,它列出了组成文件的逻辑块。当一个文件被删除时,它的目录条目被删除,但是数据和inode不变。内核会检查是否有任何其他指向inode的链接,如果没有,则删除inode并恢复内存。但是,如何创建这样一个无名文件呢?每当我打开一个文件并用python读或写它时,它都存在于磁盘上。但是当我在我的mac上发出这个命令时:我可以使用代码从目录中删除文件,但不能删除它的inode文件?
lsof +L1
我得到一个300个文件的列表!从我读过的内容来看,这些文件只有一个链接,即写入到这个链接的过程。如果这些文件还有目录条目,则至少有两个链接。那么,在这个过程中,写入这些文件的进程,删除了它们的目录条目?为什么?怎么样?
作为一个旁注,谷歌浏览器使用了很多。在chrome'lsof + L1 |中打开多个选项卡grep Chrome | wc -l'表明Chrome创建了数百个临时文件...大概是为了减少内存使用量? – andyvanee 2014-10-05 04:37:59