Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

[Aide] Creation processus fils fork()


hotsauce3

Messages recommandés

bonjour

bon voila j'ai besoin de crée deux processus fils pour le même processus père (deux processus du même niveau) a l'aide de la fonction fork() (sous linux) est calculer le temps d'exécution des deux processus fils .

j'essayai avec une boucle mais ca crée un processus fils pour le processus fils précèdent :(

alors si vous avez une idée . laissé un commentaire

Merci .

Lien vers le commentaire
Partager sur d’autres sites

bon voila apers quelque changement j'ai fait ca

 

#include

#include

#include

#include

 

 

main() {

clock_t start,end1,end2;

pid_t fils1 ,fils2;

 

 

 

 

fils1 = fork();

 

 

if(fils1 != 0){

 

 

//printf("je suis le pere mon PID est %d \n",getpid());

wait(0);

 

 

fils2=fork();

if(fils2 != 0) {

 

wait(0);

 

printf("Temp total : %f s \n",(double)(end1+end2)/CLOCKS_PER_SEC);

}

else {

start=clock();

sleep(rand()%10);

 

 

printf("je suis le fils2 mon PID %d le PID de mon pere est %d \n",getpid(),getppid());

end2 = clock() - start;

 

exit(0);

}

 

 

}

else {

 

 

start=clock();

sleep(rand()%10);

printf("je suis le fils1 mon PID %d le PID de mn pere est %d \n",getpid(),getppid());

 

end1 = clock() - start;

 

 

exit(0);

 

 

}

 

 

 

 

 

 

}

 

 

 

désoler pour code un peut en désordre ... mais j'aimerais juste pouvoir créé deux processus fils pour le même processus père !! :)

Modifié par hotsauce3
Lien vers le commentaire
Partager sur d’autres sites

c'est que je connais pas al syntaxe :( ben si vous pouver me donner un exemple ça serait bien :)

 

 

un truc de ce genre devrait faire l'affaire :

 

unsigned long int debut = time(NULL)

 

//...ton traitement

 

unsigned long int fin= time(NULL)

 

après tu fais des soustractions pour la durée :)

Lien vers le commentaire
Partager sur d’autres sites

Juste une remarque,

 

dans des situations ou l'on voudrai avoir de l'aide sur du code l'idéal est de :

 

1. en disposer et faire partager le code via un GitHub ou un BitBucket ou même SVN

2. que le code sur le repository soit facilement executable (selon l'environnement)

3. que la question soit clair (comme sur StackOverflow)

 

a+

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...