bonsoir je croyais avoir compris comment marchait fork() mais là je ne comprends plus rien

je veux créer un processus père et 2 fils donc je fais ça :

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
 
for(i=0;i<2;i++){
 
		int n=fork();
 
		if(n>0){
			//initFichier("test.test");
                        printf("père\n");
			for (i=0;i<2;i++){
				int message;
				pid=wait(&message);
			} 
			//emctl(semid,0,IPC_RMID,0);
 
		}else if(n==0&&i==0){
                        printf("fils1\n");
			//ecrireFichier("test.test",a,3);
      			exit(0);
 
		}else if(n==0&&i==1){
 
			printf("fils2\n");
			//lireFichier("test.test",a,3);
      			exit(0);  
 
		}else{
			exit(1);
		}
 
 
	}

ce code m'affiche père \n et fils1 \n il ne va jamais dans la condition n==0&&i==1 je ne comprends pas pourquoi