prlimit64 () функция linux - PullRequest
       21

prlimit64 () функция linux

4 голосов
/ 15 января 2012

Кто-нибудь знает, что делает функция prlimit64() C? Кажется, у меня его нет на моей машине с Ubuntu x86_64, но он существует в Arch, и я не могу найти кого-то или что-то, кто знает, что он делает.

Ответы [ 2 ]

4 голосов
/ 15 января 2012

prlimit позволяет вам установить или получить ограничения ресурсов rlimit (например, количество дескрипторов файлов, память и т. Д.) Для другого процесса.Это зависит от Linux.

Обычно ограничения, которые вы можете установить, зависят от макроса _FILE_OFFSET_BITS, который равен 64 во всех современных системах.Поэтому члены структур, используемых prlimit и его друзьями, всегда имеют ширину 64 бита, независимо от того, используете ли вы 32- или 64-разрядную систему.

Однако в неясном случае, _FILE_OFFSET_BITSравно 32 (что означает, что вы не можете корректно работать с файлами размером более 2 ГБ), вам нужен альтернативный prlimit64 системный вызов для использования 64-битных ограничений.

4 голосов
/ 15 января 2012

Это сложный вопрос; но это 64-битная версия (что бы это ни значило) prlimit(); специфичная для Linux функция в семействе getrlimit(2) .

Похоже, что он не подходит для 64-битных приложений, так как он связан с эмуляцией 64-битной среды, когда она недоступна.

...