查询当前运行进程中是否有指定进程有多种方式,下面介绍一种通过进程名获取进程号,以此来确认该进程是否在运行。
如下实例,查询当前运行进程中是否有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。