【Linux(程序设计):12---选项查询(sysconfpathconffpathconf)】五陵年少金市东,银鞍白马渡春风。这篇文章主要讲述Linux(程序设计):12---选项查询(sysconfpathconffpathconf)相关的知识,希望能为你提供帮助。
#include <
unistd.h>
long sysconf(int name);
long fpathconf(int fd, int name);
long pathconf(char *path, int name);
- 与文件或目录无关的运行时选项,一般使用sysconf
- 与文件或目录有关的运行时选项,一般使用fpathconf、pathconf
- 如果选项可用,返回正值
- 否则返回-1
- 如果选项没有定义或者被定义为-1,那么平台在编辑时并不支持相应选项
- 如果选项定义为0,必须调用sysconf、pathconf、fpathconf来判断选项是否被支持
- 如果选项定义值大于0,那么该平台支持该选项
使用的限制如下
- fpathconf、pathconf的选项及name参数
文章图片
- sysconf的选项及name参数
文章图片
文章图片
四、各系统测试如下
文章图片
五、演示案例
#include<
stdio.h>
#include<
unistd.h>
#include<
stdlib.h>
#include<
sys/types.h>
#include<
sys/stat.h>
#include<
fcntl.h>
int main()
{
int fd=open("demo",O_RDONLY);
//打开一个目录printf("demo dir _POSIX_CHOWN_RESTRICTED:%ld\\n",fpathconf(fd,_PC_CHOWN_RESTRICTED));
printf("demo dir _POSIX_VDISABLE:%ld\\n",pathconf("demo",_PC_VDISABLE));
printf("_POSIX_JOB_CONTROL:%ld\\n",sysconf(_SC_JOB_CONTROL));
close(fd);
exit(0);
}
文章图片
推荐阅读
- Flutter Chanel通信流程
- Linux(内核剖析):14---内核数据结构之链表(struct list_head)
- ceph笔记之用户权限,挂载brd/cephfs及mds高可用
- Linux(内核剖析):13---系统调用的实现与解析
- Linux(内核剖析):12---进程调度之与调度相关的系统调用
- Linux(内核剖析):11---进程调度之实时调度策略(SCHED_FIFOSCHED_RRMAX_RT_PRIO实时优先级)
- 斗鱼直播三面(说说JDK与JRE的区别是什么!)
- SpringCloud升级之路2020.0.x版-22.Spring Cloud LoadBalan
- 本图文详细教程教你电脑插上耳机没声音怎样处理