J'ai écrit le programme suivant et l'ai exécuté dans le terminal. Mais je suis confus car le programme ne affiche pas les résultats comme le comportement décrit sur internet. J'ai copié ce code à partir d'un livre.
#include
#include
int main(int argc, char *argv[])
{
pid_t childid;
if(argc!=2)
{
printf("Veuillez fournir un argument dans le terminal\n");
return 0;
}
int i, n = atoi(argv[1]);
for(i=0; i 0);
printf("i = %d\n ID du processus %d\n ID du parent %d\n ID de l'enfant %d\n", i, getpid(), getppid(), childid);
return 0;
}
Est-ce que le processus parent ne devrait pas exécuter la dernière instruction "printf" n fois, où n est le nombre d'enfants créés.. Que se passe-t-il lorsque le parent appelle while(wait(NULL) > 0); et que l'enfant est encore en exécution?
Merci