C语言判断当前某一个进程是否存在

  1. #include <stdio.h>     
  2. #include <stdlib.h>     
  3. #include <unistd.h>     
  4. #include <fcntl.h>     
  5. #include <limits.h>     
  6. #include <sys/types.h>     
  7. #include <sys/wait.h>     
  8.   
  9. #define BUFSZ 150     
  10.   
  11. void err_quit(char *msg);  
  12.   
  13.   
  14. int main(int argc, char *argv[]) {     
  15.       
  16.     FILE* fp;  
  17.     int count;  
  18.     char buf[BUFSZ];     
  19.     char command[150];     
  20.       
  21.     sprintf(command, "ps -ef | grep ***** | grep -v grep | wc -l" );        //*****代表要监控的进程  
  22.   
  23.     if((fp = popen(command,"r")) == NULL)     
  24.   
  25.         err_quit("popen");     
  26.   
  27.     if( (fgets(buf,BUFSZ,fp))!= NULL ) {   
  28.   
  29.         count = atoi(buf);     
  30.           
  31.         if(count  == 0)     
  32.   
  33.             printf("进程不存在!\n");     
  34.           
  35.         else    
  36.   
  37.             printf("进程已找到,有%d个!\n",count);     
  38.     }   
  39.   
  40.     pclose(fp);     
  41.     return EXIT_SUCCESS;  
  42. }  
  43.   
  44.   
  45. void err_quit(char *msg) {  
  46.   
  47.     perror(msg);     
  48.     exit(EXIT_FAILURE);     
永不止步步 发表于03-01 14:15 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363791个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号