📄 monpar.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "Config.h"
#include "Db.h"
#include "Stru.h"
STRU_TR_T_GENERALPARA g_prec;
CTblPARA *g_ppara;
char* argvs[4];
//char argvs[32][32];
main(int argc,char *argv[])
{
if(argc<3)
{
printf("config.file \n");
exit(-1);
}
else
{
CConfig cfg;
char buf[32];
char buf1[32];
if (cfg.ReadConfig(argv[1]) != 0)
{
printf("Read %s Failed!\n",argv[1]);
return false;
}
if(cfg.GetItemValue("DB", "name", buf)!=0)
{
printf("Read DB:id Failed!\n");
return false;
}
if(cfg.GetItemValue("DB", "passwd", buf1)!=0)
{
printf("Read DB:id Failed!\n");
return false;
}
COra *db=new COra(buf,buf1);
g_ppara=new CTblPARA();
}
for(int i=0;i<4;i++)
argvs[i]=new char[32];
while(1)
{
printf("to fetch\n");
g_ppara->fetchRecord(&g_prec,"fetch_httpinfo");
printf("para=[%d]\n",g_prec.GPR_ID);
printf("paraname=[%s]\n",g_prec.GPR_PARANAME);
printf("paraval=[%s]\n",g_prec.GPR_PARAVALUE);
printf("paradesc=[%s]\n",g_prec.GPR_PARADESC);
if(g_prec.GPR_PARAVALUE[0]=='1')
{
printf("exec %s\n",argv[2]);
if(fork()==0)
{
//execv("./",argv[2],"eth0",g_prec.GPR_PARADESC);
strcpy(argvs[0],argv[2]);
strcpy(argvs[1],"eth0");
strcpy(argvs[2],g_prec.GPR_PARADESC);
memset(argvs[3],0,32);
printf("in child process\n");
execv(argvs[0],argvs);
exit(0);
}
g_ppara->close();
g_ppara->updateValue("0",g_prec.GPR_ID);
sleep(10);
}
else
{
sleep(5);
}
g_ppara->close();
}
}
/*
if((pid=fork()) ==0)
{
//child process
chdir(m_commandline);
execv(m_args[0],m_args);
writelog("自监控执行[%s]失败.错误原因:[%s].\n",m_args[0],strerror(errno) );
exit(-101);
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -