Accueil     Soft. MacOSX     Soft. MacOS/PC     PHP     ROMS GBA     TP d'info     TI-92     DBZ-GT     Martingales     Galeries     Liens     @  

TD5 Systeme, EX3

/*
Optimisation TD5 Systeme, EX3
©2003 http://www.Software-DS.com
*/

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

void fils1(){
execlp("./pair","pair",0);
}

void fils2(){
execlp("./impair","impair",0);
}

int main(void) {
int i;
pid_t pid1,pid2;

switch(pid1=fork()) {
case -1: perror("erreur fork");
exit(1);

case 0: fils1();
puts("fin fils1"); /* ne sera jamasi affiché puisuqe le exec, va emepecher d'executer tout ce qui suit puisque cela va etre effacé pour etre remplacé par le contenu du programme remplacant (eexcpl) */
exit(0);

default:
switch(pid2=fork()) {

case -1: perror("erreur fork");
exit(1);

case 0: fils2();
puts("fin fils2");
exit(0);

default:
printf("pere= %d fils1= %d fils2 = %d",getpid(),pid1,pid2);
for(i=0;i<100;i++){
printf("%d\n",i);
}

waitpid(pid1,0,0);
waitpid(pid2,0,0);
/* le pere attend que les fils soient terminé , ainsi on va voire s'afficher Fin du pere */
puts("Fin du pere\n");
}
}

return 0;
}


Pair:

#include <stdio.h>
int main(void) {
int i=0;
while(i<100) {
printf("%d\n",i);
i+=2;
}
return 0;
}

Impair:

#include <stdio.h>
int main(void) {
int i=1;
while(i<100) {
printf("%d\n",i);
i+=2;
}
return 0;
}

/* ©2003 All Rights Reserved to www.Software-DS.com */





Haut de la page - Page précédente - Page générée en 0.00207 sec.
Recherche personnalisée
 

1815782 visiteurs.   ©2001-2019 All Rights Reserved to Software-DS.com
Made with a mac  
Confidentialité