» »

c++ fork()

c++ fork()

luli ::

Imam sledečo nalogo :
Proces OČE naj kreira tri sinove, in sicer SIN1, SIN2 in SIN3. SIN1 naj nato kreira enega sina, in sicer VNUK1, SIN2 naj kreira dva svoja sina, in sicer VNUK2 ter VNUK3, SIN3 pa naj kreira kar tri sinove, in sicer VNUK4, VNUK5 in VNUK6. Z ustreznim postavljanjem izpisov (printf) pokažite pravilnost svoje rešitve.

Prosil bi vas za pomoč ali pa vsaj napotitev na kako internet stran, kjer je source od "podobne" naloge. To se pravi različne naloge za različne sinove.

Hvala v naprej.

bozjak ::

hmm, naredi si dinamični seznam in iz njega naredi drevo. Sigurno se na googlu kej tazga najde, če se ti res ne da pisat, sam škodl ti nebi nč...

Lp
http://upor.blogec.si
http://bozjak.deviantart.com

luli ::

Dinamično drevo ne pomaga, saj si procesi lahko izmenjujejo podatke samo preko t.i. skupnega pomnilnika, tega pa še do te vaje nismo obravnavali.

Vseeno hvala za nasvet in čakam nove!

BigWhale ::

int main()

int sin_1=1;
fork()
int sin_2=1;
fork();

...

se nekaj ifov okrog vsega pa smo tam! ;)

Quikee ::

int pid;

pid = fork();
if (pid > 0) {
  //do_child_1
  pin = fork();
  if (pid > 0) {
    //do_grand_child_1
    return 0;
  }
  return 0;
}

pid = fork();
if (pid > 0) {
  //do_child_2
  pin = fork();
  if (pid > 0) {
    //do_grand_child_2
    return 0;
  }
 return 0;
}


nekaj v tem smislu...

edit: fork() vedno vrača PID > 0 za novi child process in 0 za parent process

Zgodovina sprememb…

  • spremenil: Quikee ()

Gregor5816 ::

Imam eno vprašanje glede procesov in forkanja.

//koda pred forkom

int pid;
pid = fork ();

if (pid == 0) {
	//child
	//return 0;
}

else {
	//parent
}

//koda po forku

return 0;


Koda je iz C. Če zgoraj v otroku pustimo "return 0;" zakomentirano, ali se koda po forku izvede samo enkrat (jo izvede starš) ali dvakrat (izvedeta jo starš in otrok)?

Randomness ::

Vse se izvede dvakrat. Sicer pa zakaj tega ne poskusiš sam?

if (fork()) {
  printf("parent\n");
} else {
  printf("child\n");
}
printf("child and parent\n");


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C in računanje kotov

Oddelek: Programiranje
376125 (5178) RatedR
»

Naloga iz Putka - UPM

Oddelek: Programiranje
242070 (1406) NejcSSD
»

[C] Procesi

Oddelek: Programiranje
6918 (827) Cvenemir
»

[C] in delo s procesi v Linuxu

Oddelek: Programiranje
132185 (1671) OmegaM
»

Pomoč z C++ nalogo

Oddelek: Programiranje
101348 (1155) denis123

Več podobnih tem