1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <stdio.h>
#include <sys/types.h>
#include <sys/times.h>
char buf[1024]; /* pour récupérer le répertoire de travail */
struct tms temps; /* pour récupérer les nombres de clics */
main(){ int i;
nice(10); augmentation de 10 de la valeur du nice avant le fork*/
for (i=0;i<10000000;i++); /* une boucle consommatrice de CPU */
if (fork()==0) {printf("caractéristiques du fils \n ");
printf("uid=%d euid= %d egid=%d\n ", getuid(),geteuid(),getegid());
printf(" répertoire de travail : %s\n ",getcwd(buf,1024));
printf("nice : %d \n",nice(0)+20);
times(&temps);
printf("clics en mode utilisateur : %d \n", temps.tms_utime);
printf("clics en mode système : %d \n\n ", temps.tms_stime);}
else{ sleep(5); /* pour partir après la terminaison du fils */
printf("caractéristiques du père \n ");
printf("uid=%d euid= %d egid=%d\n ",getuid(),geteuid(),getegid());
printf(" répertoire de travail : %s\n ",getcwd(buf,1024));
printf("nice : %d \n",nice(0)+20);
times(temps);
printf("clics en mode utilisateur : %d \n", temps.tms_utime);
printf("clics en mode système : %d \n\n ", temps.tms_stime);}} |
Partager