C++代码调用一个可执行程序后,想在5分钟后kill掉它,应当如何做?
如题。 
 我的想法是先system( "a.out "); 
 但之后如何得知这个a.out的进程ID,又如何在5分钟之后kill掉它,还请指教。 
 对于kill函数也不熟悉,刚刚接触Linux下的C/C++编程,还请指教。
------解决方案--------------------system( "killall -9 a.out ")
------解决方案--------------------system( "ps -A|grep a.out >  tmp.txt "); 
 File *fp = fopen( "tmp.txt "); 
 while(fgets(buf,255,fp)!=NULL) 
 { 
    /*解析每行数据,根据名称匹配打到相应的进程 
      pid = ; 
      break; 
    */ 
 } 
 sprintf(cmd, "kill -9 %d ",pid); 
 system(cmd);
------解决方案--------------------... 
 int childPid; 
 int pid=fork(); 
 if(pid> 0){ 
    childPid=pid; 
    execvp( "a.out ",argv); //argv: 参数列表,一个字符串指针数组 
 } 
 ... 
 ... 
 //after 5 minute,and in somewhere 
 kill(childPid,9);  //kill a.out process
------解决方案--------------------楼主写出这样的程序来,也真是害人不浅啊   
 难道你就不能用fork/exec/alarm/signal/kill吗?