查詢目前運作程序中是否有指定程序有多種方式,下面介紹一種通過程序名擷取程序号,以此來确認該程序是否在運作。
如下執行個體,查詢目前運作程序中是否有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。