首页 » 乱七八糟 » SIMS开发者文档

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                          //结束标志

只需要将写好的动态链接库放入目录之下,并且将动态库吗和运行间隔时间安装格式添加至配置文件即可。