Bonjour ,
C est peut etre une question bete : a quoi sert les appels de type exec ?
est ce que ca sert juste a diviser le code en plusieurs fichiers sources ou ont elles un autre interet autre que "esthetique" ?








Bonjour ,
C est peut etre une question bete : a quoi sert les appels de type exec ?
est ce que ca sert juste a diviser le code en plusieurs fichiers sources ou ont elles un autre interet autre que "esthetique" ?
Gné?Envoyé par Treuze
Tu as lu le man des fonctions?
En gros (selon la fonction), ca recouvre ton programme par le programme de ton choix.Envoyé par le man








En fait ce que je vulais dire c plutot , y a t il un quelconque interet a decouper son programme "multiprocessus" et faire un exec pour chacun deux ?
Désolé je comprend vraiment pas ce que tu veux dire.
Un exemple concret???








l'intérêt des exec* c'est de faire du multiprocessus (et pas du multithreading), enfin pas seulement.
l'idée c'est de faire un fork() -> tu obtiens 2 processus identique, puis de faire un exec() sur l'un des 2 pour avoir 2 processus différents.








En fait ce que je voulais dire c est
forme 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 switch(fork){ case 0 : instruction1_processusA instruction2_processusA break; default : instruction1 instruction2
forme 2 :
Y a til un interet autre que l'allegement du code dans le passage de la forme 1 vers la forme 2 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 switch(fork) case 0 : execl("./fils","fils",NULL) //fils contient instruction1_processusA instruction2_processusA break; default : instruction1 instruction2








Y a til un interet autre que l'allegement du code dans le passage de la forme 1 vers la forme 2 ?
avec la forme1, le fils est l'exacte copie du père (bien qu'après le fork() tu leur donnes des comportements différents), c'àd par ex. :
si tu as:
int x= 2;
fork();
x existera pour le père et le fils et vaudra 2 (mais il n'est pas partagé, ce sont 2 programmes à part maintenant)
donc après c'est à toi de voir... si tu veux faire un processus totalement différent du père, il faut utiliser exec(), si tu veux garder les mêmes fonctions etc... forme1
Partager