系统限制和选项limit(一)

从shell中获取系统限制和选项
终端输入getconf value [pathname]

[root@bogon code]# getconf ARG_MAX  
2097152
[root@bogon code]# getconf NAME_MAX /root   //涉及路径名的在后面都要带一个路径,随便一个路径都可以
255 //最大路径名称长度

在程序运行时获取限制和选项
来看一下sysconf函数的参数
这里写图片描述

[root@bogon code]# cat getlimit.c 
#include<stdio.h>
#include<unistd.h>
#include<limits.h>
int main()
{
    long id=sysconf(_SC_ARG_MAX);//sysconf里面的值应该是_SC系列常量之一,其它的好像不行,例如换成ARG_MAX就不行,失败返回-1,好吧,我又懒得检查是否调用成功了
    printf("%ld\n",id);
    return 0;
}
[root@bogon code]# gcc getlimit.c 
[root@bogon code]# ./a.out
2097152
[root@bogon code]# 

程序运行时获取与文件相关的限制
先看一下pathconf和fpathconf的参数
这里写图片描述

[root@bogon code]# cat filelimit.c 
#include<stdio.h>
#include<fcntl.h>
#include<unistd.h>
int main()
{
    int fd=open("/root/code/a.c",O_RDWR);
    long len=fpathconf(fd,_PC_NAME_MAX);
    long namelen=pathconf("/root",_PC_NAME_MAX);
    long pathlen=pathconf("/root",_PC_PATH_MAX);
    long pipelen=pathconf("/root",_PC_PIPE_BUF);
    printf("%ld\n%ld\n%ld\n%ld\n",len,namelen,pathlen,pipelen);
    return 0;
}
[root@bogon code]# gcc filelimit.c 
[root@bogon code]# ./a.out
255
255
4096
4096
[root@bogon code]# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值