Processus en C

Fermé
kadsoft Messages postés 145 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 27 octobre 2014 - 5 déc. 2011 à 19:26
Bonjour !!
je commence avec les processus en c; voici un petit programme que j'ai fais

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
int main(){

pid_t fils, petitfils, moi, pere;

fils=fork();
switch ( fils ) {
case -1 : printf("Erreur : echec du fork\n");
break;
case 0 : //processus fils

petitfils=fork();
switch ( petitfils ) {
case -1 : printf("Erreur : echec du fork\n");
break;
case 0 : //processus petit fils

moi = getpid();
pere=getppid();
printf("Bonjour je suis le petit fils, mon N° = %d mon pere = %d\n",moi,pere);
sleep (60);
exit(0);
}

//Processus fils pere du petit fils

moi = getpid();
pere = getppid();
printf("Bonjour je suis le fils, mon N° = %d mon pere = %d\n",moi,pere);

exit(0);
}

//Processus pere

moi = getpid();
pere = getppid();
printf("Bonjour je suis le pere, mon N° = %d mon pere = %d\n",moi,pere);
return 0;
}

il faut que le petit fils s'endort 60 secondes. Le fils tue alors le petit-fils et ses sorties. Le père attend que le fils termine et imprime "fils terminé"!! j'ai beau essayé je n'ai pas compris comment marche le kill() et waitpid()!!
quelqu'un pourrait il m'aider svp ??