您的位置:首页 > 运维架构 > Linux

linux getrlimit sysconf

2015-06-22 10:40 609 查看

linux中getrlimit和sysconf

/***************************************************************
> File Name: rlimit_sysconf.c
> Author: lxg
> Mail: liuxingen@nsfocus.com
> Created Time: 2015年06月22日 星期一 10时28分54秒
***************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<errno.h>
#include<sys/time.h>
#include<sys/resource.h>

int main(int argc, char *argv[])
{
int max_fd = -1;
struct rlimit rlim;

if((max_fd = sysconf(_SC_OPEN_MAX)) == -1)
{
fprintf(stderr, "sysconf _SC_OPEN_MAX error:%s", strerror(errno));
}

if(getrlimit(RLIMIT_NOFILE, &rlim) == -1)
{
fprintf(stderr, "getrlimit RLIMIT_NOFILE error:%s\n", strerror(errno));
}

printf("sysconf _SC_OPEN_MAX=%d, getrlimit RLIMIT_NOFILE=%lld\n", max_fd, (long long)rlim.rlim_cur);

return 0;
}


lxg@lxg-X240:~/station/TLPI/chapter_36$ ulimit -n

2048

系统中RLIMIT_NOFILE的输出

lxg@lxg-X240:~/station/TLPI/chapter_36$ ./rlimit_sysconf

sysconf _SC_OPEN_MAX=2048, getrlimit RLIMIT_NOFILE=2048

rlimit_sysconf的运行结果

lxg@lxg-X240:~/station/TLPI/chapter_36ulimit−n1024lxg@lxg−X240: /station/TLPI/chapter36 ulimit -n 1024
lxg@lxg-X240:~/station/TLPI/chapter_36 ulimit -n

1024

修改系统的RLIMIT_NOFILE值为1024

lxg@lxg-X240:~/station/TLPI/chapter_36$ ./rlimit_sysconf

sysconf _SC_OPEN_MAX=1024, getrlimit RLIMIT_NOFILE=1024

rlimit_sysconf的运行结果

从上面的测试结果来看:getrlimit和sysconf至少在某些参数的结果上来看是功能一致的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: