nftw общее или доступное количество файловых дескрипторов - PullRequest
0 голосов
/ 22 ноября 2011

nftw хочет параметр для количества дескрипторов файла для использования. Я видел пару примеров, в которых это значение равно 20 (это гарантированный минимум POSIX? Разве это не должно быть указано как 17, потому что три дескриптора файла уже используются для stdin / out / err? Или я неправильно понимаю, как это работает? (Аналогично, если мы получим фактическое доступное число с помощью getrlimit или sysconf, следует ли вычесть 3 перед передачей параметра?)

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Количество дескрипторов файлов - это общее количество дескрипторов файлов, которое может иметь процесс. Такие функции, как sysconf, не знают, используются ли некоторые из них или нет. Вы можете проверить это, открыв несколько файлов, и sysconf должен возвращать одно и то же значение как до, так и после.

Вероятно, неплохо бы вычесть 3 для стандартных файловых дескрипторов и, возможно, еще пару на всякий случай.

1 голос
/ 22 ноября 2011

Оставлять открытыми как минимум три файловых дескриптора для stdin, stdout и stderr - отличный совет. Кроме того, у вас может быть один или два дескриптора для ваших собственных нужд. Быстрое сканирование моей системы показывает диапазон между 0 и 109 открытыми дескрипторами, причем 4 является довольно распространенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...