3

lsof testMac OS X で実行すると、次の出力が得られます。ここtestで、 はメモリ マップト ファイルの名前です。

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

フィールドtxtで報告されていることに注意してください。FDただし、のドキュメントにlsofよると:

   FD         is the File Descriptor number of the file or:

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

問題は、なぜフィールドではなく、lsofレポートを作成するのかということです。txtmemFD

ファイルは次のようにマッピングされます。

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

ここlengthで、 は長さで、fdはファイルの記述子です。

4

0 に答える 0