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 ??