int main(int argc,char *argv[]){
int pid;
//pid = fork();
int i=1;
int profundidad,estado;
//cout<<pid<<endl;
//printf("el argumento es "<<argv[1]<<endl;
profundidad=atoi(argv[1]);
//profundidad=argv[1]+ 0;
//printf("la profundidad es %d ",profundidad);
if(profundidad > 1){
for(i=1;i<=profundidad;i++){
//cout<<"i "<<i<<endl;
pid = fork();
if(pid==0){//el padre ha creado un hijo
printf("soy el hijo %d mi pid es %d y el de mi padre es %d ",i,getpid(),getppid());
//cout<<endl;
//printf("soy el hijo %d .Mi pid es %d y mi ppid es %d ",i,getpid(),getppid());
sleep(20);
exit(0);
}
}
for(i=1;i<=profundidad;i++){
wait(&estado);
printf("soy el padre con pid %d y mi hijo %d ha terminadon",getpid(),i);
}
}
else{//aqui la profundidad es 1,solo creará el padre,se llamará a partir del 2
}
return(0);
}