sysconf和pathconf使用】的更多相关文章

问题描述:          查看系统运行时的限制值 问题解决: 执行效果: 源代码:…
#include <stdio.h> #include <sys/time.h> #include <sys/resource.h> int main(int argc, char *argv[]) { struct rlimit nofile_rlmt; if (getrlimit(RLIMIT_NOFILE, &nofile_rlmt) != -1) { printf("获取进程最大能打开的文件描写叙述符个数信息:\n" "rl…
前言 UNIX系统实现定义了很多幻数和常量,其中有很多已被硬编码(关于硬编码和软编码:http://www.cnblogs.com/chenkai/archive/2009/04/10/1432903.html)进程序中,或用特定的技术确定.由于大量标准化工作的努力,已有若干种可移植的方法用以确定这些幻数和实现定义的限制.这非常有助于软件的可移植性. 以下两种类型的限制是必需的: (1)编译时限制(例如,短整型的最大值是什么?). (2)运行时限制(例如,文件名可以有多少个字符?). 编译时限制…
POSIX.1的2001版,包括了ISO C标准所指定的各个函数.其接口分成了两类:必需接口和可选接口.可选接口按功能又进一步分成50个区.表1中按它们各自的选项代码总结了没有被弃用的编程接口.选项代码是由2-3个字符构成的字母缩写,以便标识属于各个功能区的接口.选项代码会突出显示手册相关页面上的文本,表明接口依赖于对特定选项的支持.很多选项处理实时扩展. 表1 POSIX.1可选接口组和代码(SUS,Single UNIX Specification) 代码 SUS强制要求 符号常量 说明 A…
1.UNIX标准化 1.1.ISO C 1989 年后期,C程序设计语言的ANSI(American National Standards Institute) 标准X3. 15 9-1989得到批准( ANSI 1989) . 此标准已被采用为国际 标准 ISO/IEC 9899:1990. 1999年,ISO C给根性为ISO/IEC 9899:1999. 按照ISO C标准定义了各个头文件(header),可将ISO C库分成24个区.下表列出了C标准定义的各个头文件. 1.2.IEEE…
UNIX标准及实现 引言     在UNIX编程环境和C程序设计语言的标准化方面已经做了很多工作.虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相当容易,但是20世纪80年代UNIX版本的剧增以及它们之间差别的扩大,导致很多大用户(例如美国政府)呼吁对其进行标堆化.     本章首先将介绍过去20年来进行的各种标准化工作,然后讨论这些UNIX编程标准对本书所列举的各种UNIX操作系统实现的影响.所有标准化工作的一个重要部分是对每种实现必须定义的各种限制进行说明,所以我们将说明这些限…
<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison-Wesley Professional Computing Series) 原出版社: Addison-Wesley Professional 作者: (美)W. Richard Stevens    Stephen A. Rago 译者: 戚正伟 张亚英 尤晋元 出版社:人民邮电出版社 ISBN:9787…
UNIX标准及实现 ISO C: 国际标准化组织(International Organization for standardization , ISO)ISO C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统.此标准不仅定义C程序设计语言的语法和语义,还定义了其标准库. IEEE POSIX: POSIX(Protable  open system interface 可移植性操作系统接口)是一个最初由IEEE(institute of Electricial and El…
对于在不同 Unix 系统之间移植程序,最重要的事情就是确定新系统的一些编译时.运行时固定或不固定的限制值了.例如文件路径最大长度 PATH_MAX.进程最大可打开文件句柄数 OPEN_MAX.用户可加入的附加用户组最大数量 NGROUPS_MAX.进程命令行参数最大字节数 ARG_MAX.内存页大小 PAGESIZE.线程栈大小默认值 STACKSIZE.临时文件最大数量 TMP_MAX 等等.甚至有些系统特征也可以通过查询来提前确定,例如是否支持读写锁.是否支持异步 IO.是否支持实时信号等…
sysconf / pathconf:用于运行时确定特定系统实际支持的限制值 sysconf 函数的参数格式: “_SC_ + 限制项名称”,如:CHILD_MAX 限制值指每个实际用户 ID 可以启动的最大进程数,调用 sysconf(_SC_CHILE_MAX) 即可获得其实时限制值 pathconf 函数的参数格式: “_PC_ + 限制项名称“,格式类似,如:LINK_MAX 指单个文件的最大硬链接数,因不同的文件系统中的限制不同,所以此值与文件所在的路径位置有关,调用 pathconf…