fork() baum
-
Hallo,
habe eine Frage zum fork baum.
soll ein C-Programm schreiben das einen fork baum erzeugt.bsp: --------1
2--------------------3
2.1-------2.2 -----------------4
--------------------------------------5
weiss nicht ob ich es richtig verstanden habe.
also mit fork wird ein prozess erzeugt.bsp:
#include <stdio.h> #include <unistd.h> #include "sys/types.h" int main() { int sohnpid; sohnpid=fork(); // prozess wird hier erzeugt //------------- das wäre der Vater ----------- if(sohnpid>0){ printf("Der Vater ist hier Aktiv,Kind Prozess id PID: %d\n",sohnpid); int cp=getpid(); int pp=getppid(); //------------ das hier wäre dann die PID von denn eltern vom sohn und //------------ die pid der eltern wäre hier praktisch von dort wo das programm //------------- gestartet wurde also die shell printf("\n Eltern Prozess PID:% die PID: meiner Eltern %d\n",cp,pp); } else if(sohnpid==0){ int cp=getpid(); int pp=getppid(); printf("Der Sohnist Aktiv\n\n"); //------------- die pid der eltern wäre hier der vater oder? printf("Kind Prozess PID:%d Meiner Eltern habe diese PID:%d",cp,pp); } }
also wäre es so wenn ich denn Prozess erzeuge ,shell->vater->kind oder?
wenn ich jetzt einen fork baum erzeugen will müsste ich im oberen beispiel immer weitere fork prozesse erzeugen oder ?1 wäre dann der vater und dort werden 2 weitere prozesse erzeugt 2 und 3 oder?
unter 2 und 3 werden wieder 2 weitere prozesse erzeugt also 2 weitere Kinder oder?
danke und gruß peer
-
fork-Baum? Was ist das für ne sinnlose Aufgabe?
Hier ist n fork-Baum
#include <unistd.h> int main() { for(;;) fork(); }
-
Hmmm...ja, der Baum hat was
gruss
v R