sysconf / pathconf:用于运行时确定特定系统实际支持的限制值

  • sysconf 函数的参数格式: “_SC_ + 限制项名称”,如:CHILD_MAX 限制值指每个实际用户 ID 可以启动的最大进程数,调用 sysconf(_SC_CHILE_MAX) 即可获得其实时限制值
  • pathconf 函数的参数格式: “_PC_ + 限制项名称“,格式类似,如:LINK_MAX 指单个文件的最大硬链接数,因不同的文件系统中的限制不同,所以此值与文件所在的路径位置有关,调用 pathconf(“/home/xxx.file", _PC_LINK_MAX)可获得其限制值
#include <unistd.h>
long sysconf(int name)
long pathconf(const char *path, int name)
long lpathconf(const char *path, int name)
long fpathconf(int fd, int name)

适用于 sysconf 的限制项(引用时添加 _SC_ 前缀)如下:

  • CHILD_MAX:单个进制可以同时运行的进程数量
  • CLK_TCK:每秒种滴答数
  • HOST_NAME_MAX:gethostbyname 函数返回的主机名最大长度
  • IOV_MAX:readv、writev 等分散/聚离 IO 函数可以使用的 iovec 结构体最大数量
  • OPEN_MAX:单个进程可以打开的最大文件数量
  • PAGE_SIZE:内存分页大小
  • RE_DUP_MAX:正则表达式使用 {m, n} 形式表示重复次数时,函数 regexec 和 regcomp 可以处理的上限值,即 n 的值
  • SEM_NSEMS_MAX:单个进程可以使用的信号量最大数量
  • SEM_VALUE_MAX:单个信号量可以注册的最大值
  • SYMLOOP_MAX:解析路径时,可以遍历的符号链接的数量上限(系统防止无限循环)
  • TIMER_MAX:每个进程的最大定时器个数

适用于 pathconf 的限制项(引用时添加 _PC_ 前缀)如下:

  • LINK_MAX:以普通文件为对象,表示单个文件可以关联的最大硬链接数量
  • NAME_MAX:只能以目录为对象,pathconf 函数的返回值表示该目录下的文件名称可以包含的最大字节数(不含末尾的 null 字符)
  • PATH_MAX:只能以目录为对象,pathconf 函数的返回值表示该跟径名称的最大长度(若指定的是相对目录,则返回的是相对路径的最大长度限制,而不是对应的绝对路径限制)

[01]APUE:sysconf / pathconf的更多相关文章

  1. [12]APUE:高级 I/O

    一.分散聚离(向量) I/O [a] readv / writev #include <sys/uio.h> ssize_t readv(int fd, const struct iove ...

  2. 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)

    Charm Bracelet    POJ 3624 就是一道典型的01背包问题: #include<iostream> #include<stdio.h> #include& ...

  3. [08]APUE:进程控制

    [a] getpid / getppid / getuid / geteuid / getgid / getegid #include <unistd.h> pid_t getpid(vo ...

  4. 01背包问题:POJ3624

    背包问题是动态规划中的经典问题,而01背包问题是最基本的背包问题,也是最需要深刻理解的,否则何谈复杂的背包问题. POJ3624是一道纯粹的01背包问题,在此,加入新的要求:输出放入物品的方案. 我们 ...

  5. Java高级架构师(一)第01节:整体课程概览

    本课程专注于构建:高可扩展性.高性能.大数据量.高并发.分布式的系统架构. 从零开始.全面系统.成体系的软件架构课程,循序渐进的讲述构建上述系统架构所需要的各种技术知识和技能. 适应人群: 1:有一定 ...

  6. 第01讲:Flink 的应用场景和架构模型

    你好,欢迎来到第 01 课时,本课时我们主要介绍 Flink 的应用场景和架构模型. 实时计算最好的时代 在过去的十年里,面向数据时代的实时计算技术接踵而至.从我们最初认识的 Storm,再到 Spa ...

  7. Hadoop技巧(01):插件,终端权限

    阅读目录 序 HDFS权限 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 在ha ...

  8. [16]APUE:套接字

    [a] socket / socketpair #include <sys/socket.h> int socket(int domain, int type, int protocol) ...

  9. [15]APUE:pipe / FIFO

    管道 pipe 一.概述 管道(pipe / FIFO)是一种文件,属于 pipefs 文件系统类型,可以使用 read.write.close 等系统调用进行操作 其本质是内核维护了一块缓冲区与管道 ...

随机推荐

  1. MyEclipse6.0中使用aptana插件,添加jquery提示功能

    MyEclipse6.0中使用aptana插件,添加jquery提示功能 第一:查看当前MyEclipse集成的eclipse的版本,, 查看路径    D:/MyEclipse 6.0/eclips ...

  2. java 后台 实现简单的验证码

    private int width =80;private int height=30;private Random r=new Random();private String fontnames[] ...

  3. windows server2012r2 安装NET Framework 3.5

    在Windows Server 2012上安装一些软件,比如Oracle 11g等,经常会出现下面这样的错误:“无法安装一下功能:.NET Framework 3.5(包括.NET 2.0和3.0)” ...

  4. 第三记 Java面向对象

    相信很多人都有听到,见到这么一句话:Java是一门面向对象编程的语言,但是又是否对这句话有了自己的理解呢? 一.面向对象 面向对象是一种新兴的程序设计方法,也可以说是一种新的程序设计规范(paradi ...

  5. fabs() abs()

    fabs() 面向实数取绝对值 abs() 返回int

  6. ArcGis拓扑——规则、概念与要点

    在地理数据库中,拓扑是定义点要素.线要素以及面要素共享重叠几何的方式的排列布置.例如,街道中心线与人口普查区块共享公共几何,相邻的土壤面共享公共边界. 处理拓扑不仅仅是提供一个数据存储机制.在 Arc ...

  7. 前端自动化构建工具——gulp环境搭建教程

    gulp是前端工程化的工具,它可以对html,css,js等代码和图片进行压缩,也可以对sass和less等预处理语言进行编译,代码部署.gulp学起来简单,用起来方便,大大提高我们工作效率. 这里可 ...

  8. usermod -修改使用者帐号

    总览 SYNOPSIS usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time] [-g initial_ ...

  9. 笔记46 Hibernate快速入门(三)

    Hibernate相关概念 一.事物概念 Hibernate的任何对数据有改动的操作,都应该被放在事务里面. hibernate中的事务由s.beginTransaction();开始由s.getTr ...

  10. delphi xe10 网络连接

    //当前网络状态(引用 Androidapi.JNI.Network.pas) IsConnected //连接 IsWiFiConnected //Wifi是否连接 IsMobileConnecte ...