Как я могу программно получить список открытых файловых дескрипторов для данного PID на OS X?
Все, что я видел, говорит, чтобы использовать lsof -p
, но я ищу что-то, что не требует форк /exec.
Например, на Linux можно просто ходить /proc/{pid}/fd
,
1 ответ
Решение
Вы можете использоватьproc_pidinfo
с PROC_PIDLISTFDS
возможность перечислять файлы, используемые данным процессом. Вы можете использовать proc_pidfdinfo
на каждый файл по очереди с PROC_PIDFDVNODEPATHINFO
возможность получить свой путь.