我正在尝试调试程序中的文件描述符泄漏。我正在查看活动监视器的“打开文件和端口”窗口,希望收集一些信息。
我看到了几种类型的条目。这是一个示例:
cwd
/
txt
/Applications/Utilities/Activity Monitor.app/Contents/MacOS/Activity Monitor
0
/dev/null
1
/dev/null
2
/dev/null
3
4
5
6
7
->0x1c8e9b47ad822e5b
Run Code Online (Sandbox Code Playgroud)
我相信我对这种格式有以下几点了解:
cwd /表示应用程序的当前目录是/txt /Applications/.../Activity Monitor意味着“活动监视器”被映射到内存中而没有打开的文件描述符0 /dev/null表示文件描述符 0 与 /dev/null 关联7 ->0x1c8e9b47ad822e5b意味着文件描述符 7 与没有持久名称的类文件对象关联(?)但是文件描述符 3 到 6 又如何呢?它们与什么相关?
活动监视器显示 的结果lsof -Fn -p [pid],从每行中剥离第一个字符。丢失的文件条目的含义仍不清楚,但常规的可能性显示在 lsof 手册页(man lsof在终端中)的 NAME 部分下。
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |