sysconf函数

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 系统存储页的长度(字节数)
    
    
    
    
    
    
    
    
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值