fmoo
fmoo

Reputation: 799

How can I programmatically get the list of open file descriptors for a given PID on OS X?

Everything I've seen says to use lsof -p, but I'm looking for something that doesn't require a fork/exec.

For example on Linux one can simply walk /proc/{pid}/fd.

Upvotes: 10

Views: 5165

Answers (1)

bdash
bdash

Reputation: 18308

You can use proc_pidinfo with the PROC_PIDLISTFDS option to enumerate the files used by a given process. You can then use proc_pidfdinfo on each file in turn with the PROC_PIDFDVNODEPATHINFO option to get its path.

Upvotes: 11

Related Questions