检查进程运行的问题?
我要写个C程序,在linux下运行 
 有个工作是检查一些特定进程是否在运行。 
 进程的名称我是知道的,能否通过名称知道该进程是否在运行?比如获取进程id?
------解决方案--------------------肯定可以,不用写C了,写一个简单的shell script就可以了
------解决方案--------------------if( kill(0,pid) > = 0 ) 
 then the process is alive 
 else is deaded.
------解决方案--------------------进成没有名,只有号,有名的只是可执行程序.进程是通过进程号操作的. 
 不过我们可以根据程序名找到相应的进程号.   
 FILE   *stream; 
 char command[128],buff[512],*p; 
 pid_t splaypid; 
 int pidnum; 
 char *name= "adf " 
 memset(command,0,sizeof(command)); 
 sprintf(command, "ps |grep %s ",name); 
 stream=popen(command, "r "); 
 if(stream==NULL)return; 
 memset(buff,0,sizeof(buff)); 
 fgets(buff,512,stream); 
 p=strtok(buff, "  "); 
 pclose(stream); 
 if(p==NULL)return ; 
 //printf( "pid %s\n ",p); 
 if(strlen(p)==0) 
 return; 
 if((pidnum=atoi(p))==0) 
 return;   
 splaypid=(pid_t)pidnum;//找到进程号 
 kill(splaypid,SIGKILL);//对进程进行相应的操作 
------解决方案--------------------你要先通过名找到进程ID, 通过调用ps命令写入文件进行分些, 楼上的就可以实现. 其他的容易搞定.