为什么lsof将内存映射文件的文件描述符报告为txt而不是Mac上的mem?

时间:2013-11-01 18:40:41

标签: macos mmap memory-mapped-files lsof

在Mac OS X上运行lsof test时,我得到以下输出,其中test是内存映射文件的名称:

COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
filesyste 40535 buildbot  txt    REG    1,6        3 2466028 test

请注意,txt字段中会报告FD。但是,根据documentation of lsof

   FD         is the File Descriptor number of the file or:

                   mem  memory-mapped file;
                   txt  program text (code and data);

所以问题是:为什么lsoftxt字段中报告mem而非FD

文件映射如下:

mmap(0, length, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0)

其中length是长度,fd是文件的描述符。

0 个答案:

没有答案