vit*_*aut 8 macos mmap lsof memory-mapped-files
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
Run Code Online (Sandbox Code Playgroud)
请注意,这txt是在FD现场报告的。但是,根据文档lsof:
FD is the File Descriptor number of the file or:
mem memory-mapped file;
txt program text (code and data);
Run Code Online (Sandbox Code Playgroud)
那么问题来了:为什么是lsof报道txt而不是mem现场FD?
该文件映射如下:
mmap(0, length, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0)
Run Code Online (Sandbox Code Playgroud)
其中length是长度,fd是文件的描述符。
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |