Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NewBe en 15 Octubre 2011, 13:22 pm



Título: Procesos y alarmas
Publicado por: NewBe en 15 Octubre 2011, 13:22 pm
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();
         }
   }
}





Título: Re: Procesos y alarmas
Publicado por: El_Java en 15 Octubre 2011, 15:35 pm
prueba a quitar el pause();...

SaludOS!


Título: Re: Procesos y alarmas
Publicado por: NewBe en 15 Octubre 2011, 21:47 pm
prueba a quitar el pause();...

SaludOS!
Hola,

 No funciona como indicas.

Saludos