Quelle serait la sortie? Je suis confus, c'est 2 ou 3 mais dont je ne suis pas sûr. Pouvez-vous aider?Est-ce que le processus enfant exécute les deux impressions?
main()
{
printf("hello\n");
if(fork() == 0)
printf("hello\n");
}
Quelle serait la sortie? Je suis confus, c'est 2 ou 3 mais dont je ne suis pas sûr. Pouvez-vous aider?Est-ce que le processus enfant exécute les deux impressions?
main()
{
printf("hello\n");
if(fork() == 0)
printf("hello\n");
}
déclaration if
est va être évaluée après bifurquer de sorte que chaque processus irait avec sa propre valeur de retour qui est égal à zéro pour le processus de l'enfant et non nul (PID) pour le parent donc il y aurait 1 hello
à ce stade .
Plus le premier hello
en haut de votre code, vous obtenez un total de 2 hello
s au terminal.
Qu'avez-vous trouvé? Que se passe-t-il lorsque vous redirigez la sortie via 'cat' ou que vous la redirigez vers un fichier? –
Pourquoi les gens vont-ils couper et coller le code dans une question SO, mais pas dans leur éditeur de choix et compiler la chose & * ^% $ pour obtenir une réponse solide! – John3136
Alors que son souci est de savoir pourquoi le code se comporte ainsi, il est le bienvenu. – Xaqron