|
发表于 2004-2-25 00:12:03
|
显示全部楼层
试试下面的函数:
int IsOther(char *szProgName) {
FILE *fp;
char szCmd[80],szBuf[80],szName[80],szPid[11],szTime[6],szTty[11];
int iIsOther = 0;
while(fgets(szBuf,120,fp) != NULL) {
sscanf(szBuf,"%s%s%s%s",szPid,szTty,szTime,szName);
szPid[10] = '\0';
szTime[5] = '\0';
szTty[10] = '\0';
szName[strlen(szProgName)] = '\0';
if(memcmp(szName, szProgName, strlen(szProgName)) == 0)
iIsOther++;
}
pclose(fp);
return (iIsOther - 1);
}
memset(szBuf, 0x00, sizeof(szBuf));
memset(szCmd, 0x00, sizeof(szCmd));
sprintf(szCmd, "ps -e| grep %s", szProgName);
fp = popen(szCmd,"r");
if(fp == NULL) {
printf("Coule not run ps program\n");
pclose(fp);
return -1;
} |
|