Comprensione della chiamata a forcella

0

Stavo leggendo un articolo online su fork (). In base a ciò che ottengo, la chiamata di sistema fork () crea un sottoprocesso e il contatore del programma viene aggiornato all'istruzione successiva e il controllo viene passato al processo figlio e quindi il controllo ritorna al processo genitore. Esaminando il seguente programma:

 printf("%d\n",fork());

Mi aspettavo che l'output fosse:

0 valore positivo

dato che la chiamata a fork () riuscita restituisce 0 al processo figlio e processa l'ID di child a parent e child verrà eseguito prima dopo il call to fork (), ma sono rimasto sorpreso di trovare l'output come:

valore positivo 0

Dove sto andando male?

    
posta user1369975 13.07.2015 - 19:10
fonte

1 risposta

1

Non esiste un ordine definito in cui i processi verranno eseguiti dopo un fork , quindi può verificarsi una risposta.

    
risposta data 13.07.2015 - 19:15
fonte

Leggi altre domande sui tag