trabalho do garfo no idioma c [fechado]

Agora, tenho um problema em entender o funcionamento dofork() chamada do sistema. Eu escrevo um código que é o seguinte:

#include<stdio.h>
int main()
{
    int a, b;
    b=fork();

    printf("\n the value of b = %d",b);
}

A saída deste código é a seguinte:

Agora não entendo por que a saída é assim?

Depois que eu apenas adicionar uma linha ao meu código e saída é completamente diferente. meu código é o seguinte:

int main()
{
    int a, b;
    b=fork();

Quando executo o código, a saída está seguindo 2389my name is manish

 the value of b = 0

Agora estou totalmente confuso sobre o trabalho defork() ligar

As minhas perguntas são as seguintes:

Comofork() trabalhoOnde o controle vai depois dofork() ligarlguém pode explicar por que as saídas de códigos escritas com problemPor que a saída deb ocorrer em locais diferentes significa, no primeiro código, a saída deb = 2260 é logo antes da saídab = 0 enquanto o valor deb = 2389 não é logo antes dob = 0?

Por favor, explique-me o funcionamento do fork no código escrito no problema para que eu possa aprender corretament

questionAnswers(4)

yourAnswerToTheQuestion