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();
}
}
}