Wenn der Aufruf von fork() erfolgreich ausgeführt wird, erstellt Unix zwei identische Kopien der Adressräume, einen für den übergeordneten und den anderen für den untergeordneten. Beide Prozesse starten ihre Ausführung bei der nächsten Anweisung nach dem Aufruf von fork(). [Ref: http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html].Konzepte auf fork() Systemaufruf
Also, wenn ich den folgenden Code ausführen:
#include <stdio.h>
int main(void)
{
printf("Hello\n");
fork();
printf("World\n");
return 0;
}
ich denke, es
Hello
World
World
druckt Aber wenn ich das Programm ausführen druckt es
Hello
World
Hello
World
Bitte erklären, wo fehlt mir das Konzept?
Seltsam, ich bekomme die erwartete Ausgabe. Hallo Welt Welt – Rusty
Ich denke, wenn Sie printf() verwenden, können Sie nicht haben Hallo Welt Welt o/p.korrekt mich, wenn ich falsch liege. – Hailey
Sie werden "Hello World World" als Ausgabe haben, ich kopierte einfach und kompilierte den Code, und bekam das gleiche und das ist, was ich erwartet hatte. – Rusty