linux c如何判斷某個進程是否已經運行


/*******************************************************************
** 函數名:     YX_ProcessIsRun
** 函數描述:     進程是否在運行
** 參數:        [in]proc:進程名稱
** 返回:        TRUE: 是
**           FALSE: 否
********************************************************************/
static BOOLEAN YX_ProcessIsRun(char *proc)
{
    FILE* fp = NULL; 
    INT8U count = 1; 
    INT8U BUFSZ = 100; 
    char buf[BUFSZ]; 
    char command[150]; 
 
    sprintf(command, "ps -ef | grep -w %s | wc -l", proc); 

    if((fp = popen(command,"r")) == NULL) 
    { 
        debug_printf("popen err\r\n");
        return FALSE;
    } 
    if((fgets(buf,BUFSZ,fp))!= NULL) 
    { 
        count = atoi(buf); 
    } 
    
    pclose(fp); 
    
    fp=NULL; 
    
    if ((count -1) == 0) {
        return FALSE;
    } else {
        return TRUE;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM