从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#include #include 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.out2097152[root@bogon code]#
程序运行时获取与文件相关的限制
先看一下pathconf和fpathconf的参数[root@bogon code]# cat filelimit.c #include#include #include 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.out25525540964096[root@bogon code]#