[C] Création de processus
Bonjour,
Je voudrais que vous m'aidez d'écrire un Programme en C qui crée 4 fils F1,F2,F3 et F4. chaque fils a le même code (fonction void fils(...)) qui permet, entre autre, d’afficher le numéro du fils (1 a 4) ainsi que son PID. Le père affiche, quant a lui, un simple message a chaque création de fils puis un dernier message avant de terminer.
1 ) Peut-on passer en paramètre la fonction fils le PID du fils ? Ecrire ce programme en le généralisant à n processus.
2 ) Nous désirons ajouter dans la fonction fils une attente aléatoire de 1 à 10 secondes différente pour chacun des fils. Le fils indiquera le temps pendant lequel il va s’endormir et affichera un message lors de son réveil. Pour rappel, le code suivant permet d’initialiser le générateur de nombres aléatoires grâce à la commande time et d'endormir le programme pendant un temps aléatoire :
double attente;
Code:
1 2 3 4 5
| time_t t;
time(&t);
srand(t);
attente = rand() * 10.0 / RAND_MAX;
sleep(attente); |
voila mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
void fils(int);
int main ()
{
int i;
for (i=1; i<=4; i++) {
if(fork()== 0) {
printf ("creation du fils: ", i);
fils(i);
exit(0);
}
}
printf ("Voila un dernier message \n" );
return (0);
}
void fils (int i) {
printf ("je suis le Fils nimero: %i mon PID est : %i \n", i, getpid());
exit(0);
} |
Cordialement