Foros del Web » Programación para mayores de 30 ;) » Programación General »

Procesos y Señales LINUX

Estas en el tema de Procesos y Señales LINUX en el foro de Programación General en Foros del Web. Hola tengo un problema que no llego a entender a la hora de usar mascaras para modificar el comportamiento propio de las señales. Tengo un ...
  #1 (permalink)  
Antiguo 18/03/2010, 14:56
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 4 meses
Puntos: 0
Procesos y Señales LINUX

Hola tengo un problema que no llego a entender a la hora de usar mascaras para modificar el comportamiento propio de las señales.

Tengo un programa lo que hace es crear una estrucutra en la que a partir del proceso padre crea un arbol de hijos, nietos, etc... de forma automatica hasta un maximo de procesos que se les pasa.

Eso yo ya lo tengo implementado mediante una funcion recursiva.

Dejo el codigo de demostracion. Previamente se define una estrucutra de arrays para almacenar los id de los procesos, de cada padre todos sus hijos... y la Funcion crearhijos es una funcion muy similar a esta.

Código:
switch(proceso)
             {      
         case -1: printf("·Error\n");
                       break;
              case 0:
            sprintf(mensaje,"(v)%d\n",getpid());
            write(1,mensaje,strlen(mensaje));
            emp[cont].id=getpid();
            emp[cont].nHijos=0;            
            if(rand()%2)            
               creaHijo(nProc,argv[2],argc);
            else
               /*MUERE*/;                                
            break;
         case -2:
            break;
              default:
         for(i=0;i<=cont;i++)
            {
               if(emp[i].id==getpid())
                  {
                  emp[i].hijos[emp[i].nHijos]=proceso;            
                  sprintf(mensaje,"Hijo: %d id : %d _ Padre : %d \n",emp[i].nHijos,emp[i].hijos[emp[i].nHijos],emp[i].id);
                  write(1,mensaje,strlen(mensaje));
                  emp[i].nHijos++;
                  }
            }

Mi duda es que ahora mediante señales y mascaras yo tengo que invocar a una funcion manejadora para que elimine los procesos.

Pero es que nose que pasos realmente tengo que dar para lograr todo esto, definirla si pero no se como tengo inicializar la mascara, como hacerle llegar la señal de eliminar, etc...

Si alguien pudiera darme una pista, o que funciones, codigo, etc.. necesito para este ejemplo se lo agradeciera

Etiquetas: linux, procesos, señales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:26.