lsof 输出中的文件偏移量到底是什么?

lsof 输出中的文件偏移量到底是什么?

我用来lsof追踪仍然占用空间的已删除文件,我意识到我不太确定相对于文件的偏移量是多少。lsof的手册页在这方面没有什么帮助,并且四处搜索我无法清楚地了解它是什么。

什么是文件偏移量以及为什么拥有该信息很有用?

答案1

偏移量是文件中的当前位置,由内核为给定的文件描述维护(请参阅lseek(2)open(2)详细信息请参阅联机帮助页)。

至于为什么它在lsof的输出中有用,我不太确定。它可以通过文件提供进程进度的一些信息,尽管它不会涵盖所有情况(内存映射文件不会显示偏移量更改)。

答案2

斯蒂芬·基特的回答很接近,但不完全正确;如果我们读查找(2)更仔细地看,我们会看到它实际上写着(我的粗体):

查找() 函数重新定位文件的偏移量打开文件描述与文件描述符相关联FD[...]

那么,什么是“打开文件描述”以及它与“文件描述符”有何关系?

好吧,在注释部分,我们发现:

打开(2)讨论文件描述符、打开文件描述和文件之间的关系。

完美的!然而,我不会从手册页粘贴一堵文字墙,而是直接链接到一个很好的答案“什么是打开的文件描述?”这解释了同样的事情。

相关内容