Bonjour,
je dois faire un programme ou le processus père crée N fils qui devront s'exécuter en parallèle.
je suis bloqué dans mon code. Quelq'un peut-il m'aider svp ?
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <time.h> #include <errno.h> #include <sys/wait.h> int main(int argc, char* argv[]) { int f; int status=0; struct timespec temps; pid_t pid; int j; int a=atoi(argv[1]); temps.tv_sec=0; temps.tv_nsec=50000000; for(f=0;f<a; f++){ switch(pid=fork()) { case -1 : /* Oups !!! fork n'a pas marché !*/ perror("fork"); exit(errno); case 0 : /*Code du fils*/ for(j=0; j<10; j++) { printf(" %d \n",j); nanosleep(&temps,NULL); } system("ps -f"); printf("Id Fils: %d\n",getpid()); return 2; break; default : /* Code du père*/ for(f=0;f<a; f++){ if ( ( pid=wait(&status) ) == -1) exit(errno); printf("Fin du processus père de pid %d.\n", getpid()); } } } exit(0); }
Partager