Linux编程入门-系统选项
Linux编程入门-系统选项
系统限制
常用系统限制如下,部分不存在运行时恒定值,部分运行时可增加值规则变化而省略。运行时恒定值通常在limits.h中定义,运行时可增加值用sysconf
/pathconf
等获取。例如当某限制名为XXX_MAX时,其最小值的运行时恒定值格式一般为_POSIX_XXX_MAX,运行时可增加值格式一般为_SC_XXX_MAX。可用命令行工具getconf获取系统中已实现的运行时恒定值,开发时可用autoconf等工具确定各种系统特性及限制存在与否、如何设置,并生成头文件。
运行时恒定值 | 运行时可增加值 | 描述 |
---|---|---|
ARG_MAX | 提供给exec 的argv和environ所占空间之和最大字节数 |
|
_SC_CLK_TCK | times 度量单位 |
|
LOGIN_NAME_MAX | 登录名最大长度,含终止空字符 | |
OPEN_MAX | 进程同时可打开的文件描述符的最大数量 | |
NGROUPS_MAX | 进程所属辅助组ID数量最大数 | |
_SC_PAGESIZE或_SC_PAGE_SIZE | 一个虚拟内存页大小 | |
RTSIG_MAX | 单一实时信号最大数 | |
SIGQUEUE_MAX | 排队实时信号最大数 | |
STREAM_MAX | 同时可打开stdio流最大数 | |
NAME_MAX | 文件名最大字节长度,终止空字符除外 | |
PATH_MAX | 路径名最大字节长度,含终止空字符 | |
PIPE_BUF | 一次性写入管道或FIFO中最大字节数 | |
MQ_PRIO_MAX |
sysconf
运行时获取系统限制值。该函数获取的值在调用进程的生命周期中保持不变,用setrlimit
等函数除外。
1 |
|
文件限制
常用文件限制如下:
文件限制 | 描述 |
---|---|
_PC_NAME_MAX | 对于目录,返回该目录下文件名最大长度 |
_PC_PATH_MAX | 对于目录,返回该目录下相对路径名最大长度 |
_PC_PIPE_BUF | 对于FIFO或管道,返回一个应用于引用文件的值。对于目录,返回值应用于该目录下创建的一个FIFO。 |
pathconf/fpathconf
运行时获取文件限制值。pathconf
用路径名,fpathconf
用已打开的文件描述符。
1 | long fpathconf( |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 The Blog of Monoceros406!