对于sysctl有关的函数,网上资料比较少,我整理了一些大家一起学习探讨。
1.sysctl有关函数
sysctl,sysctlname,sysctlnametomib,这三个函数的功能是获取或者设置系统信息的函数。
注:对于用sysctl命令和配置文件的方法网上讲解比较好找,大家自行解决。
2.库
标准c库函数
3.概要
#include <sys/types.h>
#include<sys/sysctl.h>
int sysctl(const int *name,u_int namelen,void *oldp,size_t *oldlenp,const void *newp,size_t newlen);
int sysctlbyname(const char *name, void *oldp, size_t *oldlenp,
const void *newp, size_t newlen);
int
sysctlnametomib(const char *name, int *mibp, size_t *sizep);
4.描述
sysctl函数检索系统信息和允许适当的进程设置系统信息。sysctl函数可以得到整数,字符串和表的信息(这句话比较不符合中国人口味啊,这是楼主酝酿了半天翻译出来的,感觉应该和sysctl -a 的信息类似吧)。信息可以被重新设置通过sysctl命令行借口。
sysctl函数根据数据的需要返回一致的快照。一致性包括被锁到目的buffer内存中以至于数据拷贝出来的时候不需要加锁,调用函数sysctl的时候避免死锁。
这个规定被描述用一个MIB的形式名字,列出name,这个name的长度就是参数namelen。
sysctlbyname