在C(OSX)中更改文件描述符限制

时间:2012-09-10 05:14:30

标签: c macos file-descriptor setrlimit

我想增加我的C程序可用的最大文件描述符数,该程序在OSX 10.7上运行。我已将以下代码添加到我的项目中,但它失败了!

struct rlimit limit;
if(getrlimit(RLIMIT_NOFILE, &limit))
{
    perror("Failed to get limit");
    return -1;
}

printf("%llu, %llu\n", limit.rlim_cur, limit.rlim_max);
limit.rlim_cur *= 4;
printf("%llu, %llu\n", limit.rlim_cur, limit.rlim_max);

if(setrlimit(RLIMIT_NOFILE, &limit))
{
    perror("Failed to set limit");
    return -1;
}

打印日志:

4864, 9223372036854775807
19456, 9223372036854775807
Failed to set limit: Invalid argument

最高限额似乎有点过高。发生了什么事?

0 个答案:

没有答案