bonjour,
Voila je dois creer une application toute simple qui consiste a cree 16 process fils a partir d`un process mere. C`est la mere qui doit creer les 16 fils. Et c`est la mere qui doit mourir en dernier.
Le probleme c`est que lorsque je cree un fils, il meurt avant meme que le prochain fils soit cree.
Je voudrais savoir s`il existe un moyen pour les garder en vie le temps que tous les fils soient crees.
Merci.
Voici mon code (portion):
parentID = getpid() ;
for ( i = 0 ; i < 16 ; i++)
{
if( getpid() == parentID )
{
if ((childID = fork()) != 0)
/* si le test passe alors c`est la mere */
{
/* la mere attend que son fils soit mort avant de
mourir*/
waitpid(childID, (int *)NULL, WUNTRACED) ;
}
else
/* process fils */
{
printf( "\nHi, I am the child #%d\n"
"my PID is %d\n"
"my mother is %d\n\n"
, i+1 , getpid() , getppid() ) ;
}
}
}