2012-01-15 228 views
3

有没有人知道C函数做什么prlimit64()?我似乎没有在我的x86_64 Ubuntu机器上使用它,但它存在于Arch中,而且我似乎无法找到任何人或知道它做什么的事情。prlimit64()linux函数

回答

3

这是一个棘手的问题;但是它的64位版本(无论如何)prlimit(); getrlimit(2) family中的Linux专用功能。

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

+0

谢谢 - 现在看来很明显! – 2012-01-15 11:33:48

3

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

通常情况下,您可以设置的限制取决于所有现代系统上的64位的_FILE_OFFSET_BITS宏。因此,prlimit和朋友使用的结构的成员总是64位宽,无论您是在32位还是64位系统上。

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