Jump to content
Règlement du forum ×
IPTV et arnaques ×

[Aide] Creation processus fils fork()


hotsauce3

Recommended Posts

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 .

Link to comment
Share on other 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 !! :)

Edited by hotsauce3
Link to comment
Share on other 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 :)

Link to comment
Share on other 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+

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...