Signaali on tietotekniikassa ohjelmallinen keskeytys. Signaaleja käytetään Unixeissa, Unixin kaltaisissa ja POSIX-yhteensopivissa käyttöjärjestelmissä asynkronisien tapahtumien välittämiseen.
Varhaisissa BSD ja AT&T -versioissa signaalit olivat epäyhteensopivia ja epäluotettavia. POSIX.1:stä lähtien käytössä on ollut standardoitu luotettava mekanismi signaalien välitykseen.
Esimerkkejä signaaleista ovat SIGKILL
(ohjelman lopettaminen) ja SIGSEGV
(muistiviittausvirhe). Tyypillisiä käyttäjän määrittämiä signaaleja ovat SIGUSR1
ja SIGUSR2
.
Signaalin välittäminen ohjelmalle keskeyttää ohjelman suorituksen signaalin käsittelyn ajaksi. Ohjelma voi toteuttaa signaalinkäsittelijäfunktion, jota kutsutaan oletustoteutuksen sijaan.