wie funktioniert fork()
Posted: 06. Feb 2007 12:34
Hallo zusammen,
ich muss folgende Aufgabe lösen:
Welche Welche Ausgabe erzeugt das folgende Programm?
#include <stdio.h>
#include <unistd.h> // wg. getpid
int x = 0;
int main()
{
fork();
fork();
fork();
printf("pid=%d x=%d\n", getpid(), x++);
}
ich würde sagen, es werden 4 Prozesse erzeugt (1 Vater und 3 Kinder) und es wird nur ein pid ausgegeben. x = 1
Oder werden es eigentlich 8 Prozesse erzeugt, da jedes Kind auch geklont wird???? Werden dann auch 8 pid ausgegeben???
Ich wollte das Programm unter Windows testen, leider funktioniert das nicht und mein Linux-Rechner ist zur Zeit defekt.
Ich würde für jede Antwort dankbar!
Gruß
ich muss folgende Aufgabe lösen:
Welche Welche Ausgabe erzeugt das folgende Programm?
#include <stdio.h>
#include <unistd.h> // wg. getpid
int x = 0;
int main()
{
fork();
fork();
fork();
printf("pid=%d x=%d\n", getpid(), x++);
}
ich würde sagen, es werden 4 Prozesse erzeugt (1 Vater und 3 Kinder) und es wird nur ein pid ausgegeben. x = 1
Oder werden es eigentlich 8 Prozesse erzeugt, da jedes Kind auch geklont wird???? Werden dann auch 8 pid ausgegeben???
Ich wollte das Programm unter Windows testen, leider funktioniert das nicht und mein Linux-Rechner ist zur Zeit defekt.
Ich würde für jede Antwort dankbar!
Gruß