Also versuche ich den Aufruf von fork() zu lernen, ich bin ehrlich verwirrt darüber, wie dieser Kindprozess und Elternprozess funktioniert. Hier ist ein Teil des Codes:Printf() nach fork() und Bedingung wird nur einmal gedruckt?
int main()
{
pid_t pid;
pid = fork();
if (pid == 0) {
value = ChildProcess(value);
return 0;
}
else if (pid > 0) {
value = ParentProcess(value);
}
printf("\nThe value is %d",value);
return 0;
}
Nun sollte der Ausgang geben mir Eltern Wert und Kind-Wert und da gibt es keine Wartezeit ist() aufrufen, entweder Stammwert oder Abkömmling-Wert kann zuerst gedruckt werden. Aber was ich verwirrt bin, warum wird die printf-Anweisung nur einmal gedruckt ?? Sollte es nicht zweimal gedruckt werden, da der Gabel-Aufruf im Grunde ein dupliziertes Programm erstellt hat?