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はファイルの記述子です。