Un segnale, in informatica, è un impulso asincrono trasmesso da un processo ad un altro, ed è uno degli strumenti di comunicazione tra processi. Tipicamente nessun dato viene trasmesso assieme al segnale, contrariamente a quanto accade, in generale, per gli eventi nella programmazione ad eventi.
Nei sistemi operativi Unix, Unix-like ed in genere quelli che seguono le specifiche POSIX, esiste una metodologia uniforme di utilizzare i segnali, come l'utilizzo della chiamata di sistema kill() per mandare segnali, oppure l'uso di signal() e sigaction() per la definizione delle funzioni per la gestione dei segnali. In tali sistemi, oltre che da altri processi, i segnali sono inviati anche direttamente dal kernel per notificare il verificarsi di condizioni anomale (ad es. SIGSEGV, SIGBUS o anche SIGURG)
La Single UNIX Specification specifica i seguenti segnali per :
Condizioni
Le seguenti condizioni possono generare un segnale:
- Quando un utente digita in un terminale delle particolari combinazioni di tasti, viene generato un segnale. Per esempio, quando viene forzata l'interruzione di un processo con CTRL C (SIGINT in genere).
- Alcune eccezioni hardware possono generare segnali: divisione per zero, accesso non valido alla memoria e così via. I programmatori alle prime armi spesso subiscono le conseguenze del segnale SIGSEGV a causa di puntatori non inizializzati oppure dereferenziati quando puntano a NULL.
- I processi possono inviare segnali a se stessi usando la chiamata di sistema
kill(), se le autorizzazioni lo permettono. - Il kernel può generare segnali per informare i processi quando succede qualcosa di particolare. Per esempio, verrebbe sollevato un SIGPIPE se un processo tentasse di scrivere su una pipe chiusa dal processo che dovrebbe leggerla.
I segnali potrebbero, a volte, causare l'interruzione di una chiamata di sistema in corso.
Note
Voci correlate
- Informatica
- Processo (informatica)
Collegamenti esterni
- Mario Salerno, SEGNALE, in Enciclopedia Italiana, V Appendice, Istituto dell'Enciclopedia Italiana, 1994.
- Segnale, su Vocabolario Treccani, Istituto dell'Enciclopedia Italiana.
- segnale, su sapere.it, De Agostini.
- (EN) Baris Simsek, Signals (PDF), su enderunix.org, 2005. URL consultato il 02-06-2008. – UNIX ed i segnali POSIX affidabili
![]()



