Procesos y alarmas

Iniciado por NewBe, 15 Octubre 2011, 13:22 PM

0 Miembros y 2 Visitantes están viendo este tema.

NewBe

Hola,

Tengo este programita que deberia ser continuo, pero no veo donde puede estar el error. Genera una alarma , se ejecuta y se llama a el mimo para ejecutarse pero se queda a mitad y hace una pausa, es decir se ve (programa exited with code:0) cuando no deberia de aparecer.

/*** alm2 ***/

void error(char *m)
{
   write(2, m, strlen(m));
   write(2, "\n", 1);
   write(2, strerror(errno), strlen(strerror(errno)));
   exit(1);
}

int i,z;

void trapper(int sig)
{
   signal(sig, trapper);
   printf("RIIIIIIIIING!\n");
   execlp("./alm2","./alm2",NULL);
   exit(z);
   
}

int main(int argc, char *argv[])
{
   signal(14, trapper);
   
   switch (fork())
   {
      case -1:
         
         /* Si falla se para */
         
         error("Fork");
         
      case 0:
         z = getpid();
         printf("Identificativo de proceso: %d\n", z );
         
         for(;;)
         {
         alarm(10);
         pause();
         }
   }
}




El_Java

prueba a quitar el pause();...

SaludOS!

NewBe

Cita de: El_Java en 15 Octubre 2011, 15:35 PM
prueba a quitar el pause();...

SaludOS!
Hola,

No funciona como indicas.

Saludos