天天看點

linux根據程序名查詢是否正在運作

查詢目前運作程序中是否有指定程序有多種方式,下面介紹一種通過程序名擷取程序号,以此來确認該程序是否在運作。

如下執行個體,查詢目前運作程序中是否有test程序在運作。

char buf[200]={0};    
        system("ps -A | awk '/test/{print $1}'>result");
        FILE *fd;
        fd=popen("cat ./test", "r");

        fgets(buf,200,fd);
        if(strlen(buf)!=0)
        {
                pclose(fd);
                return true;
        }else{
                pclose(fd);
                return false;
        }
           

ps -A | awk '/test/{print $4}'> result,該指令實作的結果是,在ps -A顯示的程序資訊中,查找test程序,并且将該程序第一列資訊寫入到result,也就是将程序号寫入。

然後通過fgets獲得該程序号,用來判斷目前運作程序是否有test。