/* FILE: psignal1.c */ #include #include #include void catchint (int); main () { int i; signal (SIGINT, catchint); /* aggancia il segnale */ for (;;) /* ciclo infinito */ for (i =0 ; i < 32000; i++) printf (" i vale %d\n", i); } void catchint (int signo) { int fd; char s[] = "Segnale nro "; char s1[5]; /* NON si disabilita il segnale SIGINT */ sprintf(s1, "%d", signo); strcat(s, s1); fd = open("file1.log", O_WRONLY); lseek(fd, 0L, 2); write(fd, s, strlen(s)); /* non si prevedono azioni di terminazione: ritorno al segnalato, NON SI RIPRISTINA la catch function */ }