[ D3adly @ 29.12.2006. 12:18 ] @
Postoji li načina prekinem naredbu system nakon nekog vremena.

Ako npr. imam:


Code:

system("test.exe");



i pretpostavimo da je test.exe program sa beskonačnom petljom... Postoji li način da nakon npr. 2sec prekinem njegovo izvršavanje...
[ savkic @ 29.12.2006. 14:20 ] @
Možeš ga nasilno prekinuti pomoću TerminateProcess funkcije.
[ SuPeR_MaSteR @ 31.12.2006. 13:06 ] @
1) Pomocu funkcije system() pokrenes test.exe
2) Ako postoji test.exe proces vrtis se u petlji pritom brojeci proteklo vreme, ako nakon 2 sekunde i dalje postoji tada ubijes proces.
Funkcije iz ctime header-a bi ti mogle pomoci, nesto tipa:
Code:

#include<ctime>
#include<cstdlib>
...
c_time start,end;
double dif;
string fname("test.exe");
time(&start);
system(fname);
while (exist(fname))
{
   time(&end);
   dif = difftime(end,start);
   if (dif > 2)
   {
      string killpid("taskkill /F /IM ");
      killpid += fname;
      system(killpid);
   }
}

Jos bi samo trebalo implementirati funkciju exist() :)