LINUX.ORG.RU

Ответ на: Re: узнать кл-во открытых файлов от x86

Re: узнать кл-во открытых файлов

требуется, чтобы реализация сей задачи работала и на freebsd, а sysfs используето тот же /proc...

в принципе можно обойтить

#ifdef __FreeBSD__ //code #else //code #endif

но очень хочется избежать такого решения.

anonymous ()

Re: узнать кл-во открытых файлов

>кл-во открытых на данный момент файлоdв в системе

как вариант - пробежаться по процесам в дереве /proc и посчитать для каждого кол-во файлов в каталоге fd

есть 3 НО: во-первых потоки тоже будут считаться, во-вторых открывая файл (например разными процессами) к нему (одному) будут ссылаться несколько дескрипторов. и последнее для того посмотреть кол-во дескрипторов для (к примеру) init'а нужен uid=0, ну или euid=0

ale ★★ ()
Ответ на: Re: узнать кл-во открытых файлов от hyde

Re: узнать кл-во открытых файлов

спасибо за наводку - я сразу же отбросил _sysctl, как только обнаружил, что в линуксовой реализации нет константы KERN_MAXFILES, а она оказывается заменена FS_NRFILE =)

но вторая часть вопроса всё же остаётся открытой, т.е.: как узнать кл-во дескрипторов, открытых в сис-ме на данный момент.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.