A volte mi confondo un po 'tutti i segnali che un processo può ricevere. A quanto ho capito, un processo ha un gestore predefinito ( disposizione del segnale ) per ciascuno di questi segnali, ma può fornire il proprio gestore chiamando sigaction().
Quindi, ecco la mia domanda: cosa causa l'invio di ciascuno dei segnali? Mi rendo conto che è possibile inviare manualmente segnali ai processi in esecuzione tramite il -sparametro a kill, ma quali sono le circostanze naturali in cui vengono inviati questi segnali? Ad esempio, quando SIGINTviene inviato?
Inoltre, ci sono restrizioni su quali segnali possono essere gestiti? È anche SIGSEGVpossibile elaborare i segnali e restituire il controllo all'applicazione?