亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? procguard.cpp.bak

?? 能查看系統(tǒng)進(jìn)程
?? BAK
字號(hào):

#include "ProcGuard.h"

/*
#include <sys/socket.h>	
#include <sys/select.h>	
#include <sys/ioctl.h>	
#include <arpa/inet.h>	
#include <netdb.h>	
#include <netinet/in.h>	
#include <sys/time.h>	
#include <sys/types.h>	
#include <unistd.h>	
#include <sys/types.h>
#include <linux/fs.h>
#include <sys/stat.h>

typedef struct _ihdr
{ 
    unsigned short int i_type, i_code; 
    unsigned short int i_cksum,i_id, i_seq;  
}IcmpHeader;  
struct sockaddr_in saDestAddr;  
string Messtr,Tmpstr; 

unsigned short int checksum(unsigned short int *buffer, int size)
{
    unsigned long cksum=0;
    while(size >1)
    {
        cksum+=*buffer++;
        size -=sizeof(unsigned short int);
    }
    if(size )
    {
        cksum += *(unsigned char*)buffer;
    }
    cksum = (cksum >> 16) + (cksum & 0xffff);
    cksum += (cksum >>16);
    return (unsigned short int)(cksum);
}


bool Autotest(unsigned char * szDestHost,int Ktest)  
{ 
//    WSADATA wsaData; 
    int sockRaw; 
    struct sockaddr_in dest,from; 
    char icmp_data[10], recvbuf[100];  
    unsigned int addr=0; 
    int fromlen = sizeof(from);  
    int timeout = 1000; //ms 

//    WSAStartup(MAKEWORD(2,1),&wsaData) ; 
    sockRaw = socket (AF_INET,SOCK_RAW,IPPROTO_ICMP);  
    setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO, 
    (char*)&timeout,sizeof(timeout) ); 
    memset(&dest,0,sizeof(dest));  
    dest.sin_family = AF_INET; 
    dest.sin_addr.s_addr= inet_addr(szDestHost);  
    memset(icmp_data,0,sizeof(icmp_data)); //clear icmp_data. 
    ((IcmpHeader*)icmp_data)->i_type = 8; //ICMP_ECHO 
    ((IcmpHeader*)icmp_data)->i_code = 0; 
    ((IcmpHeader*)icmp_data)->i_id = (unsigned short int)GetCurrentProcessId(); 
    ((IcmpHeader*)icmp_data)->i_seq = 0; 
 
    for(int k=0; k 
    {  
        ((IcmpHeader*)icmp_data)->i_cksum = 0;  
        ((IcmpHeader*)icmp_data)->i_seq ++; 
        ((IcmpHeader*)icmp_data)->i_cksum=checksum((unsigned short int*)icmp_data,8);  
        sendto(sockRaw,icmp_data,8,0,(struct sockaddr*)&dest,sizeof(dest));  
        int bread=recvfrom(sockRaw,recvbuf,1024,0,(struct sockaddr*)&from, 
&fromlen); 
        if (bread == SOCKET_ERROR)
        { 
            if(k==Ktest-1) goto ERR1 ;  
            else continue; //try again(3 times) 
        }  
    }  
    return TRUE; //no erros. 
ERR1: 
    closesocket (sockRaw);  
    sockRaw= INVALID_SOCKET;  
//    WSACleanup(); 
    return FALSE;  
} 
*/
//---------------------------------------------------------------------------
int LinkTest(char *szLinkString,int iCount)
{
    char szCmd[256];
    FILE *fp;
    char acTemp[1024];
    int i,iPingSuccess=0;
    if(iCount<1 || iCount > 10)
    {
        return -1;
    }  
    sprintf(szCmd,"ping -c ");
    sprintf(szCmd+8,"%d ",iCount);
    strcat(szCmd,szLinkString);
    strcat(szCmd," >/tmp/.ping.txt");
    printf("szCmd=%s,Count=%d\n",szCmd,iCount);
    system(szCmd); 
    usleep(iCount*1000);//waiting for ping exec
    fp=fopen("/tmp/.ping.txt","rt");
    if(fp==NULL)
    {
        return -1;
    }
    fgets(acTemp,1024,fp);
    for(i=0;i<iCount;i++);
    {

        fgets(acTemp,1024,fp);
        
        printf("acTemp=%s\n",acTemp);
        if(strstr(acTemp,"time="))
        {
            iPingSuccess++;
        }
      
    }
    fclose(fp);
    return iPingSuccess;

}



string getFileName(string str)
{
        int len = str.length();
        int pos = str.rfind('/',len -1);

        string tstr;
        if( pos >= 0 )
        {
                pos ++;
                while( str[pos] != '\0' )
                        tstr+=str[pos++];
        }
        else
        	tstr = str;
        
        return tstr;
}

string getFilePath(string str)
{
        int len = str.length();
        int pos = str.rfind('/',len -1);

        string tstr;
        if( pos >= 0 )
        {
        	str[pos] = '\0';
            tstr = str;
        }
        else
        	tstr = "./";
        
        return tstr;
}

CProcGuard::CProcGuard()
{
  printf("CProcGuard:begin load cfg file\n");
        m_strTmpfName = "./tmp.tmp";
        if( loadConfig() == false )
        	exit(0);        	
}

bool CProcGuard::loadConfig()
{
    printf("Load procGuard configre file\n");
    CIniFile cfgFile;
	if( cfgFile.Open(CFGFILE) )
	{
		cfgFile.LocateHeading("TOTAL");
		cfgFile.LocateKey("DELAY");
		cfgFile.ReadInt(m_nDelaytm);
		
		cfgFile.LocateHeading("TOTAL");
		cfgFile.LocateKey("PROCNUM");
		cfgFile.ReadInt(m_nProcess);
	
	
	        cfgFile.LocateHeading("TOTAL");
		cfgFile.LocateKey("LINKTYPE");
		cfgFile.ReadString(m_strLinkType);
	

	        cfgFile.LocateHeading("TOTAL");
		cfgFile.LocateKey("LINKTEST1");
		cfgFile.ReadString(m_strLinkTest1);
	
	        cfgFile.LocateHeading("TOTAL");
		cfgFile.LocateKey("LINKTEST2");
		cfgFile.ReadString(m_strLinkTest2);
	
//printf("m_strLinkTest1 = %s\n",m_strLinkTest1);
//printf("m_strLinkTest2 = %s\n",m_strLinkTest2);
		for(int i=0;i<m_nProcess;i++)
		{
			string strProc;
			
			cfgFile.LocateHeading("PROCESS");
				char szKey[8]={0};
				sprintf(szKey,"PROC%d",i+1);
			cfgFile.LocateKey(szKey);
			cfgFile.ReadString(strProc);
			
//.			this->AddProc(strProc);
		}
		
		cfgFile.Close();
	}
	else
	{
		printf("Configure file loaded failed!\n");
		return false;
	}
	return true;
}

bool CProcGuard::AddProc(string str)
{
        tagProcInfo *pProc = new tagProcInfo;
        if( pProc == NULL )
                return false;
        pProc->strNam = getFileName(str);
        pProc->strPath = getFilePath(str);
        pProc->bRuning = false;

//        m_lstProc.push_back(pProc);
        m_arrProc.push_back(pProc);
        return true;
}

bool CProcGuard::IsProcRuning(tagProcInfo *pProc)
{
#ifdef _WIN32
	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  //獲得某一時(shí)刻系統(tǒng)的進(jìn)程的快照信息

	PROCESSENTRY32 procInfo;
	procInfo.dwSize=sizeof(PROCESSENTRY32);
	BOOL bMore = Process32First(hSnapshot,&procInfo); //獲得系統(tǒng)進(jìn)程鏈表中第一個(gè)進(jìn)程的信息
	for(int i=0;bMore;i++)
	{
                char procNam[128];
                memcpy(procNam,procInfo.szExeFile,sizeof(procInfo.szExeFile));
                if( strcmp(procNam,pProc->strNam) == 0 )
                        return true;
                //獲得下一進(jìn)程
		bMore=Process32Next(hSnapshot,&procInfo);
	}
    return false;
#else
    char szCmd[128];
    memset(szCmd,0,sizeof(szCmd));
    sprintf(szCmd,"ps -ef | grep ");
    sprintf(szCmd+14,"%s | awk '{print $8}' > ",pProc->strNam.c_str());
    sprintf(szCmd+14+pProc->strNam.length()+22,"%s ",m_strTmpfName.c_str());
    system(szCmd);
    
	FILE *fp = fopen(m_strTmpfName.c_str(),"rt");
	if( fp == NULL )
	{
	        cout<<"."<<endl;
	        return true;    // 算本次運(yùn)行失敗,運(yùn)行下次運(yùn)行.
	}
	
	char par[128] ={0};
	while ( fgets(par,128,fp) )
	{
		string tstr = par;
		tstr = getFileName(tstr);
		if( tstr == pProc->strNam )
		{
			fclose(fp);
			return true;
		}
	}
	fclose(fp);
	return false;
#endif
/*        // 生產(chǎn) 系統(tǒng)調(diào)用命令字符串
        char szCmd[128];
        memset(szCmd,0,sizeof(szCmd));
        sprintf(szCmd+0,"C:/tlist -p ");
                getFileName(str);
        sprintf(szCmd+12,"%s",str.c_str(),str.length());
        sprintf(szCmd+12+str.length()," > %s ",m_strTmpfName.c_str());
                //如: "C:/tlist -p E:/telnet/QQ.exe > C:/tmp.tmp"

        // 檢查 進(jìn)程是否運(yùn)行,并寫文件
        if( system(szCmd) != 0 )
        {
                cout<<"system call failed! Anykey exit."<<endl;
                getchar();
                exit(-1);
        }

        // 讀取 生成的文件,查看進(jìn)程狀態(tài)
        Sleep(1000);
        FILE *fp = fopen(m_strTmpfName.c_str(),"rt");
        if( fp == NULL )
        {
                cout<<"."<<endl;
                return true;    // 算本次運(yùn)行失敗,運(yùn)行下次運(yùn)行.
        }

        char par[8] ={0};
        fgets(par,8,fp);
        fclose(fp);
        if(par[0] == '-')
                return false;
        else
                return true;
*/
}

bool CProcGuard::StartupProc(tagProcInfo *pProc)
{
	// 形成命令
	char szCmd[128];
    memset(szCmd,0,sizeof(szCmd));
    sprintf(szCmd,"%s/%s ",pProc->strPath.c_str(),pProc->strNam.c_str());

    #ifdef _WIN32
	    int ret = WinExec(szCmd,SW_SHOW);
	    if( ret < 31 )
	    {
	            cout<<str<<" startup failed"<<endl;
	            return false;
	    }
	    return true;
	#else
	    	// 執(zhí)行命令
	    int ret = system(szCmd);
	    
    	if( ret >= 0 )
    		return true;
    	else
    		return false;
    #endif
}

void CProcGuard::Run()
{
printf("begin run...\n");
    int x=0;
    x=LinkTest(m_strLinkTest1,4);
printf("linktest %d\n",x);
    x=LinkTest(m_strLinkTest2,4);
printf("linktest %d\n",x);
    while( 1 )
	{
        #ifdef _WIN32
       		Sleep(m_nDelaytm*1000);
       	#else
       		sleep(m_nDelaytm);
       	#endif
//printf("run....\n");



	for(int i=0;i<m_arrProc.size();i++)
    	{
			tagProcInfo *pProc = (tagProcInfo *)m_arrProc[i];

    		if( IsProcRuning(pProc) == false )
    		{
    			if( StartupProc(pProc) == true )
    				pProc->bRuning = true;
    		}
    	}
    }
}

CProcGuard::~CProcGuard()
{
    char szCmd[128];       
    memset(szCmd,0,sizeof(szCmd));
    sprintf(szCmd+0,"del ");
    sprintf(szCmd+4,"%s",m_strTmpfName.c_str());
    
	if( system(szCmd) != 0 )
		cout<<"tmp file delete failed"<<endl;
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国v欧美v日本v亚洲v| 欧美无砖砖区免费| 欧美午夜精品一区| 久久噜噜亚洲综合| 视频一区二区三区中文字幕| 日韩一区二区三区视频| 国产精品人人做人人爽人人添| 日韩在线卡一卡二| 欧美综合一区二区| 国产精品欧美经典| 国产自产v一区二区三区c| 欧美日韩成人一区二区| 亚洲另类色综合网站| 国产成人自拍网| 欧美电影免费观看完整版| 夜夜嗨av一区二区三区网页| 9i在线看片成人免费| 国产日产亚洲精品系列| 激情丁香综合五月| 精品少妇一区二区三区在线播放 | 亚洲伊人伊色伊影伊综合网| 成人一区二区三区视频在线观看| 欧美变态凌虐bdsm| 亚洲gay无套男同| 91久久精品国产91性色tv| 亚洲色图.com| 成人高清在线视频| 中文字幕中文字幕一区二区| 福利视频网站一区二区三区| 久久综合一区二区| 国产真实乱对白精彩久久| 欧美刺激脚交jootjob| 日本三级韩国三级欧美三级| 91精品国产欧美日韩| 亚洲第一av色| 欧美精品久久久久久久多人混战| 亚洲女同女同女同女同女同69| 91伊人久久大香线蕉| 亚洲精品免费在线播放| 日本道色综合久久| 亚洲午夜影视影院在线观看| 欧美区视频在线观看| 日韩黄色免费电影| 日韩精品中文字幕在线一区| 国产一区二区精品久久| 国产亚洲精品中文字幕| 成人v精品蜜桃久久一区| 综合中文字幕亚洲| 欧美日韩精品欧美日韩精品一| 免费看黄色91| 国产精品乱码久久久久久| 日本高清不卡aⅴ免费网站| 舔着乳尖日韩一区| 精品国产伦一区二区三区免费| 国产一区二区三区国产| 成人欧美一区二区三区1314| 日本电影欧美片| 麻豆精品视频在线| 国产精品美女久久久久久久| 在线观看欧美精品| 美女视频黄 久久| 国产精品国产三级国产有无不卡 | 婷婷综合另类小说色区| 日韩一区二区三区四区| 不卡大黄网站免费看| 亚洲一区二区美女| 国产亚洲精品中文字幕| 欧美性极品少妇| 国产老妇另类xxxxx| 一区二区三区不卡在线观看 | 7878成人国产在线观看| 国产成人亚洲精品青草天美| 一区二区免费视频| 精品国产乱码久久久久久影片| 97久久超碰国产精品| 秋霞国产午夜精品免费视频| 国产精品国产三级国产a| 日韩写真欧美这视频| 99久久国产综合色|国产精品| 日本欧美一区二区在线观看| 一区二区中文视频| 久久嫩草精品久久久久| 欧美丝袜自拍制服另类| 粉嫩aⅴ一区二区三区四区五区| 肉丝袜脚交视频一区二区| 国产精品美女久久久久久久| 精品少妇一区二区三区在线播放| 在线免费观看视频一区| 懂色av中文一区二区三区| 免费观看在线色综合| 亚洲图片一区二区| 1024国产精品| 国产色产综合色产在线视频| 日韩精品在线一区二区| 欧美精品123区| 在线观看一区二区精品视频| 99国产精品久久久| 国产不卡视频在线播放| 美女脱光内衣内裤视频久久网站| 亚洲与欧洲av电影| 亚洲女与黑人做爰| 亚洲精品视频一区二区| 国产精品电影一区二区| 国产日韩欧美高清在线| 欧美精品一区视频| 欧美本精品男人aⅴ天堂| 欧美一区三区四区| 678五月天丁香亚洲综合网| 欧美三级韩国三级日本三斤| 972aa.com艺术欧美| aaa欧美色吧激情视频| 成人高清免费观看| hitomi一区二区三区精品| 高清日韩电视剧大全免费| 久久99国产精品成人| 精品一区二区三区的国产在线播放| 婷婷综合五月天| 青青草视频一区| 蜜臀a∨国产成人精品| 另类专区欧美蜜桃臀第一页| 日韩电影在线免费| 国产尤物一区二区| 粉嫩嫩av羞羞动漫久久久| 成人激情免费视频| 北条麻妃一区二区三区| 91老司机福利 在线| 色就色 综合激情| 欧美精品乱码久久久久久按摩| 欧美一区二区成人6969| 久久久久久久久久久久电影| 中文字幕免费观看一区| 中文字幕一区二区三| 亚洲另类春色校园小说| 午夜精品久久久久久| 美日韩一区二区| 高清在线成人网| 欧美影视一区在线| 欧美电视剧在线看免费| 亚洲国产精品黑人久久久| 国产精品视频一区二区三区不卡| 亚洲精品日韩综合观看成人91| 日韩一区精品字幕| 国产酒店精品激情| 色哟哟日韩精品| 欧美一区二区三区啪啪| 国产女人18水真多18精品一级做| 亚洲色欲色欲www| 日本vs亚洲vs韩国一区三区二区| 国产成人精品三级麻豆| 欧美日韩五月天| 久久久噜噜噜久久中文字幕色伊伊| 一色屋精品亚洲香蕉网站| 日一区二区三区| 成人激情小说网站| 欧美一区2区视频在线观看| 国产精品久久久久久久裸模| 亚洲成人免费看| 粉嫩av亚洲一区二区图片| 欧美日韩色一区| 国产精品不卡一区二区三区| 日韩不卡在线观看日韩不卡视频| 国产成人av一区二区三区在线| 欧美日韩小视频| 国产精品久久免费看| 日本午夜精品视频在线观看| 成人动漫av在线| 欧美成人r级一区二区三区| 一区二区三区在线高清| 粗大黑人巨茎大战欧美成人| 91精品国产手机| 亚洲综合999| 成人h动漫精品一区二| 日韩你懂的在线观看| 一区二区三区四区视频精品免费| 国产精品亚洲第一| 日韩免费高清av| 天天综合色天天综合色h| 99国产精品99久久久久久| 精品国产1区2区3区| 日韩在线a电影| 欧美美女喷水视频| 亚洲乱码中文字幕综合| 91丝袜国产在线播放| 国产视频一区二区在线| 久久精品国产亚洲aⅴ| 91精品一区二区三区在线观看| 亚洲欧美日韩国产综合| 成人久久久精品乱码一区二区三区| 精品乱人伦小说| 久久国产尿小便嘘嘘| 精品国产乱码久久久久久久久| 丝袜亚洲精品中文字幕一区| 日本久久电影网| 亚洲一区在线免费观看| 92精品国产成人观看免费| 亚洲天堂中文字幕| 日本道色综合久久| 亚洲高清免费视频| 欧美日韩成人在线一区| 午夜精品视频一区|