天天看点

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。