Bonjour,
Je dois réaliser un programme qui va créer n processus en prenant la forme de cet arbre :
J'ai réalisé le code suivant :
Sauf que ceci ne fait pas ce qui met demandé, je ne me retrouve pas avec n processus fils, mais avec bien plus de processus créé qui n'ont pas tous comme parent le premier processus.
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 int main() { int i,n; if(scanf("%d",&n)!=1) return -1; for(i=0; i<n; i++){ fork(); printf("pid: %d ppid: %d\n", getpid(), getppid() ); } sleep(1); return 0; }
exemple de sortit avec 3
J'ai donc dans ce cas 10 processus fils au lieu de 3 et qui non pas tous comme père le processus 3103.
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 pid: 3103 ppid: 2676 pid: 3103 ppid: 2676 pid: 3103 ppid: 2676 pid: 3106 ppid: 3103 pid: 3105 ppid: 3103 pid: 3105 ppid: 3103 pid: 3107 ppid: 3105 pid: 3104 ppid: 3103 pid: 3104 ppid: 3103 pid: 3104 ppid: 3103 pid: 3109 ppid: 3104 pid: 3108 ppid: 3104 pid: 3108 ppid: 3104 pid: 3110 ppid: 3108
Pourriez-vous m'éclaircir sur comment réaliser ce programme. Ainsi que m'expliquer mes erreurs.
Merci
Partager