SIMS开发者文档
Server information monitoring system(SIMS)开发者文档 1.0
SIMS是一个基于C语言编写的小型的服务器信息监控系统,监控诸如用户存储空间大小,数据库文件大小等等有关于服务器信息,便于管理员对服务器进行管理。
初步的架构是将每一个功能进行单独编写,然后编译成动态链接库。然后通过一个主程序每隔一段时间来调用相关的动态链接库,来执行某一功能。
为了能让主程序正常调用到每一个动态链接库,请遵循下列要求:
动态链接库必须有一个入口函数,同时编译出来的动态链接库名字应当同入口函数保持一致。这是因为主程序是采用显式方式调用动态链接库,会根据动态链接库来寻找函数的入口。
例如:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<errno.h>
#include <time.h>
#include <mysql/mysql.h>
static int Getdata(){……}
static void Process(){……}
static int Update(){……}
int HDStorage_check()
{
int flag;
flag=Getdata();
if (flag == -1)
{
return -1;
}
Process();
flag=Update();
if (flag == -1)
{
return -1;
}
int j;
for (j = 0; j < count; j++)
{
free(storage[j]);
free(name[j]);
}
memset(user, 0, sizeof(user));
return 0;
}
这是SIMS监控用户存储空间大小的一段代码它的入口函数是HDStorage_check(),所以它编译出来的动态链接库应该是HDStorage_check.so
在编译出动态链接库后的操作是相当简单的,首先先介绍一下主程序的配置文件
/home/Iamw/SIMS/lib/ //动态链接库文件存放目录
HDStorage_check 1440 //动态库名(入口函数名) 运行间隔时间
MysqlStorage_check 1440 //动态库名(入口函数名) 运行间隔时间
end //结束标志
只需要将写好的动态链接库放入目录之下,并且将动态库吗和运行间隔时间安装格式添加至配置文件即可。