prlimit64 () функция Linux
-
28-10-2019 - |
Вопрос
Кто-нибудь знает, что делает функция C prlimit64()
?Кажется, у меня нет его на моей машине с Ubuntu x86_64, но он существует в Arch, и я не могу найти никого или что-либо, кто знает, что он делает.
Решение
Это непростой вопрос;но это 64-битная версия (что бы это ни значило) prlimit()
;специфическая для Linux функция из семейства getrlimit(2)
family .
Похоже, это бесполезно для 64-битных приложений, поскольку это связано с эмуляцией 64-битной среды, когда она недоступна.
Другие советы
prlimit
позволяет вамустановить или получить ограничения ресурсов rlimit (например, количество дескрипторов файлов, память и т. д.) для другого процесса.Он специфичен для Linux.
Обычно ограничения, которые вы можете установить, зависят от макроса _FILE_OFFSET_BITS
, который равен 64 во всех современных системах.Следовательно, члены структур, используемых prlimit
и его друзьями, всегда имеют ширину 64 бита, независимо от того, используете ли вы 32-битную или 64-битную систему.
Однако в непонятном случае, когда значение _FILE_OFFSET_BITS
равно 32 (что означает, что вы не можете правильно работать с файлами размером более 2 ГБ), вам, тем не менее, понадобится альтернативный системный вызов prlimit64
, чтобы использовать 64-битные ограничения.