prlimit64() Linux 函数

Ben*_*ott 5 c linux linux-kernel archlinux

有谁知道prlimit64()C函数的作用是什么?我的 x86_64 Ubuntu 机器上似乎没有它,但它存在于 Arch 中,而且我似乎找不到任何人或事物知道它的作用。

phi*_*hag 5

prlimit允许您设置或获取另一个进程的 rlimit 资源限制(例如文件句柄数、内存等)。它是 Linux 特定的。

通常,您可以设置的限制取决于_FILE_OFFSET_BITS宏,在所有现代系统上都是 64。因此,and Friends 使用的结构成员prlimit始终是 64 位宽,无论您使用的是 32 位还是 64 位系统。

然而,在 32 的模糊情况下_FILE_OFFSET_BITS(这意味着您无法正确处理大于 2GiB 的文件),您prlimit64仍然需要替代系统调用来使用 64 位 rlimits。


Wil*_*and 4

这是一个棘手的问题;prlimit()但它是;的 64 位版本(无论这意味着什么)Linuxgetrlimit(2)家族中特定的功能。

它似乎对于 64 位应用程序没有用处,因为它与 64 位环境不可用时的模拟有关。