Как вывести список файловых дескрипторов, открытых моим приложением, или хотя бы посчитать их? - PullRequest
1 голос
/ 08 ноября 2019

Мое приложение исчерпывает лимит дескриптора файла. Я не понимаю, какая часть делает это и почему, поэтому мне нужен способ профилировать / визуализировать проблему. Я хочу перечислить все открытые записи (как пути файловой системы) или, по крайней мере, получить общее количество дескрипторов, открытых моим процессом. Я хочу реализовать это как функцию внутри моего процесса, печатая эту отладочную информацию, чтобы я мог вставить ее в различные места.

Существует команда lsof , которая печатает эту информацию по PID, ноЕсть более простой, программный способ сделать это на C или C ++?

1 Ответ

1 голос
/ 08 ноября 2019

Вы можете перечислить открытые дескрипторы, проверив файлы в

/proc/[process_pid]/fd/

Это должно быть легко сделать в C.

...