标签: c macos pid file-descriptor
我见过的所有内容都说使用lsof -p,但我正在寻找一些不需要fork / exec的东西。
lsof -p
例如在Linux上,可以简单地走/proc/{pid}/fd。
/proc/{pid}/fd
答案 0 :(得分:8)
您可以use proc_pidinfo使用PROC_PIDLISTFDS选项枚举给定流程使用的文件。然后,您可以使用proc_pidfdinfo选项依次对每个文件使用PROC_PIDFDVNODEPATHINFO以获取其路径。
proc_pidinfo
PROC_PIDLISTFDS
proc_pidfdinfo
PROC_PIDFDVNODEPATHINFO