bsr,
je voudrais utiliser la fonction execl pour éviter que le processus fils lors d'un fork réutilise le code du père en utilisant plutot une autre routine, voiçi l'extrait de mon programme qui créer le fils:
içi j'utilise execl pour lancer "c_pr" dans le path indiqué. Voiçi maintenant le code de c_pr :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 main(int argc, char *argv[]) { cre_equipe(); } void cre_equipe() { for(equ=1;equ<=2;equ++) { pid=fork(); if (pid==0) { /* pr[ind].num_equipe=equ; pr[ind].id=getpid(); pr[ind].qg=1; printf("je suis le processus QG, mon id est :%d, n° équipe %d\n",pr[ind].id,equ);*/ if(ret=execl("/home/philippe/Documents/c_pr","c_pr",1,"",NULL)==-1)
c_pr se lance bien mais là je voudrais récupérer la valeur de argv[1] soit 1 et ça marche pas si quelqu'un peut m'aider merçi A +Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 main(int argc, char *argv[]) { ind=1; if (argc != 3) { printf("erreur\n"); exit(0); } { pr[ind].num_equipe=equ; pr[ind].num_equipe=atoi(argv[1]); pr[ind].id=getpid(); pr[ind].qg=1; printf("je suis le processus QG (c_pr), mon id est :%d, n° équipe %d\n",pr[ind].id,argv[1]); wait(); ind++; } }