Arbeiten von fork () unter Linux gcc [duplizieren]

Diese Frage hat hier bereits eine Antwort:

printf Anomalie nach "fork ()" 3 answers

fork() erstellt einen neuen Prozess und der untergeordnete Prozess wird ab dem aktuellen Status des übergeordneten Prozesses ausgeführt.

Das ist das, was ich über @ wefork() unter Linux.

So, dementsprechend der folgende Code:

int main() {
  printf("Hi");
  fork();
  return 0;
}

notwendig, "Hi" nur einmal wie oben beschrieben zu drucken.

Aber bei der Ausführung der oben genannten in Linux, kompiliert mit gcc, gibt es "Hi"zweima.

Kann mir jemand erklären, was bei der Verwendung von @ tatsächlich passierfork() und wenn ich die Arbeitsweise von @ verstanden hafork() richtig

Antworten auf die Frage(10)

Ihre Antwort auf die Frage