Fork()

Fermé
biba - 24 oct. 2008 à 01:42
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 24 oct. 2008 à 04:30
Bonjour,bon mon probleme est comment creer 2 processus sous linux qui s'executent en parallele ;je sais qu'il existe la fonction fork() qui fait la creation d'un processus fils et qui a le meme code source que son pére mais comment l'utiliser pour qu'elle me donne deux fils exactement
svp aidez moi

3 réponses

pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
24 oct. 2008 à 01:51
    pid_t   pid;
    pid = fork ();
    if (pid > 0) {
         /* Processus père      */
    } else if (pid == 0) {
         /* Processus fils      */
    } else {
         /* Traitement d'erreur */
    }

C'est comme ça que tu fork. Tu n'as qu'à faire deux fois le code dans le père et tu as deux fils.
0
ds ce cas alors on avoir 3 processus fils car si je met 2 fork() a la fois ds un processus pére et sachant que chaque fork() va creer un processus fils et chaque processus fils commence son execution juste a l'instruction qui suit le fork() car le fis a le meme code que son pére et ds ce cas le pere va cree les deux processus (fils) et le premier fils aussi va cree son propre fils car il commence son execution juste apres le 1er fork
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
24 oct. 2008 à 02:33
Hello,

Pense à jeter un oeil là-dessus:
http://www.commentcamarche.net/faq/sujet 10611 que fait un fork
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
24 oct. 2008 à 04:30
tu fais un fork() dans le pere et un autre dans le fils...
0