3

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

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

请注意,txtFD字段中报告。但是,根据以下文档lsof

   FD         is the File Descriptor number of the file or:

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

那么问题来了:为什么是lsof报告txt而不是mem现场FD呢?

该文件映射如下:

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

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

4

0 回答 0