Ovaj...kad se već spominje programiranje ovdje, malo da zatražim pomoć, naime radim program za benchmarking programskih jezika, jednostavan program koji pokrene 50k threadova i 50k procesa i ispiše rezultat u sekundama u *.txt, krenulo je samo kao usporedba pokretanja procesa i threadova (brzina jel) u sklopu nastave a potaknut sporošću C#-a krenuo sam raditi istu stvar i za C++, C i Python, tj. trenutno je za C# gotov i pri kraju sam sa C++ ali imam problem sa execl, napravio sam ovo:
Kod: Označi sve
pid_t child;
for (int i = 0; i<50001; i++){
child = fork();
if (child < 0){
cout<<"Error!\n";
}else if (child==0){
execl("./randomProcess", (char*)0);
}
else{
kill(child, SIGTERM);
}
}
sad za ovaj if/else if/else dio nisam siguran dali bi trebao raditi, to je samo jedan od triala, ali glavni dio, ovaj execl neće pokrenuti zadani process, nisam uspio na netu naći dali uopće mogu preko relativnih putanji pokretati sa execl ili je nešto drugo problem, ali on samo preskoči kompletnu for(){} petlju ako nema fork() i ostatka nego samo execl dio.
Može li mi tko malo objasniti kako točno radi execl i što su ustvari ovi parametri koje bi main funkcija trebala dobiti, jedino što na netu kažu za te parametre je "these are parameters that your main function will have", nešto u tom smislu.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.