如何以编程方式获取OS X上给定PID的打开文件描述符列表?

fmo*_*moo 6 c macos pid file-descriptor

我见过的所有内容都说要使用lsof -p,但我正在寻找一些不需要fork/exec的东西.

例如在Linux上,人们可以简单地走路/proc/{pid}/fd.

bda*_*ash 8

您可以使用proc_pidinfo该PROC_PIDLISTFDS选项枚举给定进程使用的文件.然后,您可以依次使用proc_pidfdinfo每个文件PROC_PIDFDVNODEPATHINFO选项来获取其路径.