Как я могу программно получить список открытых файловых дескрипторов для данного PID на OS X?

Все, что я видел, говорит, чтобы использовать lsof -p, но я ищу что-то, что не требует форк /exec.

Например, на Linux можно просто ходить /proc/{pid}/fd,

1 ответ

Решение

Вы можете использоватьproc_pidinfo с PROC_PIDLISTFDS возможность перечислять файлы, используемые данным процессом. Вы можете использовать proc_pidfdinfo на каждый файл по очереди с PROC_PIDFDVNODEPATHINFO возможность получить свой путь.

Другие вопросы по тегам