C++代码调用一个可执行程序后,想在5分钟后kill掉它,应当怎么做

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吗?

C++代码调用一个可执行程序后,想在5分钟后kill掉它,应当怎么做

相关文章:

你感兴趣的文章:

标签云: