Originariamente inviato da rictato
La kill uccide anche il padre!!! anche se si toglie la exit(0) nell'handler catturaINT, mandandolo in esecuzione il processo F avrà come padre il processo 1 alias il processo init
Guarda ti faccio vedere a me cosa succede.

Se NON commento exit(0) alla fine di catturaINT (cioè in pratica se lascio il codice così come lo hai scritto), l'output è questo

codice:
YuYevon@slackware:~$ ./segnale
Sono il nipote di P figlio di F=3893 e mi chiamo N=3894
Sono F=3893 e figlio di P=3892
Sono F=3893 e figlio di P=3892
Sono il nipote di P figlio di F=3893 e mi chiamo N=3894
Sono F=3893 e figlio di P=3892
Sono il nipote di P figlio di F=3893 e mi chiamo N=3894

#a questo punto invio il segnale SIGINT al processo 3893 da un'altra shell...

Segnale catturato
Uccidero' 3894
Kill eseguito con successo
Il figlio termina regolarmente con stato 0
che mi sembra coerente con il programma che hai scritto, cioè ricevuto il segnale SIGINT il processo F ammazza suo figlio (N) e poi termina regolarmente con eixt(0). Il padre di F (P) riceve lo stato di terminazione 0 del figlio F (di cui attendeva la terminazione con wait()) e stampa "Il figlio termina regolarmente con stato 0"

Se invece commento la exit(0), il processo F ammazzerà N una volta ricevuto il segnale SIGINT e però poi né lui né P vengono interrotti, e infatti la loro esecuzione continua (o per meglio dire continua F e P ne attende la terminazione)

codice:
YuYevon@slackware:~$ ./segnale
Sono il nipote di P figlio di F=3983 e mi chiamo N=3984
Sono F=3983 e figlio di P=3982
Sono il nipote di P figlio di F=3983 e mi chiamo N=3984
Sono F=3983 e figlio di P=3982
Sono il nipote di P figlio di F=3983 e mi chiamo N=3984
Sono F=3983 e figlio di P=3982
Sono il nipote di P figlio di F=3983 e mi chiamo N=3984
Sono F=3983 e figlio di P=3982

#a questo punto invio il segnale SIGINT al processo 3983 da un'altra shell...

Segnale catturato
Uccidero' 3984
Kill eseguito con successo
Sono F=3983 e figlio di P=3982
Sono F=3983 e figlio di P=3982
Sono F=3983 e figlio di P=3982
Sono F=3983 e figlio di P=3982