sysconf函数

来源:互联网 发布:运动员 颜值高 知乎 编辑:程序博客网 时间:2024/06/06 09:26

sysconf函数用于找到一个特定系统实际支持的限制值。函数原型如下:

#include <unistd.h>long sysconf(int name);

name代表限制名常量,是一些整数,分别代表一个限制名。

例如,_SC_LOGIN_NAME_MAX其值是71,代表限制名LOGIN_NAME_MAX。sysconf(_SC_LOGIN_NAME_MAX)就是限制名LOGIN_NAME_MAX的实际限制值(256)。

函数返回实际限制值。

实例:x.2.5.1.c

  1 #include <unistd.h>  2 #include <stdio.h>  3   4 int main()  5 {  6     printf("_SC_ARG_MAX=%ld; ARG_MAX=%ld\n", _SC_ARG_MAX, sysconf(_SC_ARG_MAX));  7     printf("_SC_OPEN_MAX=%ld; OPEN_MAX=%ld\n", _SC_OPEN_MAX, sysconf(_SC_OPEN_MAX));  8     return 0;  9 }

编译与执行:

[root@localhost unixc]# cc x.2.5.1.c
[root@localhost unixc]# a.out
_SC_ARG_MAX=0; ARG_MAX=2621440
_SC_OPEN_MAX=4; OPEN_MAX=1024
[root@localhost unixc]# 


sysconf限制名与name参数对应表限制名name参数linux测试值说明ARG_MAX_SC_ARG_MAX exec函数的参数最大长度(字节数)ATEXIT_MAX_SC_ATEXIT_MAX 可用atexit函数登记的最大函数个数。CHILD_MAX_SC_CHILD_MAX1024每个实际用户ID的最大进程数。HOST_NAME_MAX_SC_HOST_NAME_MAX 主机名最大程度(字节数)LINE_MAX_SC_LINE_MAX 实用程序输入行的最大长度(字节数)LOGIN_NAME_MAX_SC_LOGIN_NAME_MAX 登录名的最大长度(字节数)OPEN_MAX_SC_OPEN_MAX 每个进程的最大打开文件数PAGESIZE_SC_PAGESIZE 系统存储页的长度(字节数)                                            

原创粉丝点击