#include <time.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char*argv[]){
int i,j;
pid_t pid,nuevo,nuevo1,tiempo;
time_t ini,fin;
for(i=0;i<2;i++){
pid=getpid();
for(j=0;j<i+2;j++){
nuevo=fork();
if(nuevo==0){
break;
nuevo1=fork();
if(nuevo1==0)
execlp("xload","xload",NULL);
}
}
if(pid!=getpid())
execlp("kcalc","kcalc",NULL);
}
printf("Soy el proceso %d y mi padre es % d\n",getpid(),getppid(),tiempo );
sleep(3);
return 0;
}
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
int main (int argc, char *argv[])
{
int i, j;
pid_t pid, nuevo, nuevo1;
time_t ini, fin;
ini=rand ()%25+1;
for (i= 0; i< 2; i++)
{
pid= getpid();
for (j= 0; j< i+2; j++)
{
nuevo= fork();
if(nuevo== 0)
{
break;
nuevo1= fork();
if(nuevo1== 0)
execlp ("xload", "xload", NULL);
}
}
if (pid!= getpid())
execlp ("kcalc", "kcalc", NULL);
}
for(i=0;i<2;i++)
for(j=0;j<i+2;j++)
{
wait(NULL);
printf("el tiempo de ejecucion de kcalc: kcalc: %ld/n", (rand()%50+1)-ini);
}
printf("el total: %ld/n", (rand()%25+1)-ini);
return 0;
}
ARBOL
No hay comentarios:
Publicar un comentario