R
Renn25
Mitglied
Hallo !
Ich habe hier bei meinem Programm irgendwie ein Verständnisproblem mit diesen ganzen Parent/Child Prozessen.
Hier mal das Programm (in verkürzter Form)
int main ()
{
// lokale Variablen
pid_t pid;
cout <<"Beispiel zum Aufruf von fork()" <<endl;
// einen neuen Prozess erzeugen
fork ();
cout <<"Kind-PID= " <<getpid() <<" Eltern-PID= " <<getppid();
..... }
Das funktioniert auch soweit, nur das ich mit den Ausgaben nicht ganz klar komme.
z.B.
Kind-PID= 6910 Eltern-PID= 6909
Kind-PID= 6909 Eltern-PID= 6350
Welcher von den beiden Kind-Prozessen wurde denn nun eigentlich erzeugt?
Zitat von einer anderen Website: "Der aufrufende Prozess (in meinem Fall 6909) erhält die Prozessnummer des Sohnprozesses als Funktionsergebnis"
Also gehören doch die Prozesse mit der ID 6909 zusammen. Der Eine ist Parent und der andere Child davon. Welche Rolle spielen jetzt noch die ID's 6910 und 6350 ?
Wäre super, wenn ihr mir das erklären könntet.
Danke
Renn
Ich habe hier bei meinem Programm irgendwie ein Verständnisproblem mit diesen ganzen Parent/Child Prozessen.
Hier mal das Programm (in verkürzter Form)
int main ()
{
// lokale Variablen
pid_t pid;
cout <<"Beispiel zum Aufruf von fork()" <<endl;
// einen neuen Prozess erzeugen
fork ();
cout <<"Kind-PID= " <<getpid() <<" Eltern-PID= " <<getppid();
..... }
Das funktioniert auch soweit, nur das ich mit den Ausgaben nicht ganz klar komme.
z.B.
Kind-PID= 6910 Eltern-PID= 6909
Kind-PID= 6909 Eltern-PID= 6350
Welcher von den beiden Kind-Prozessen wurde denn nun eigentlich erzeugt?
Zitat von einer anderen Website: "Der aufrufende Prozess (in meinem Fall 6909) erhält die Prozessnummer des Sohnprozesses als Funktionsergebnis"
Also gehören doch die Prozesse mit der ID 6909 zusammen. Der Eine ist Parent und der andere Child davon. Welche Rolle spielen jetzt noch die ID's 6910 und 6350 ?
Wäre super, wenn ihr mir das erklären könntet.
Danke
Renn