⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monpar.cpp

📁 linux 上http email 协议分析程序 主要能够处理大数据量的主干网的应用
💻 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 + -