En signal är en begränsad form av interprocesskommunikation som används i Unix, Unix-liknande, och andra operativsystem som följer POSIX. I grunden är det ett asynkront meddelande som sänds till en process med målet att rapportera om en viss händelse som skett. När en signal skickas till en process, avbryter operativsystemet processen på ett normalt sätt. Programmets körning kan bli avbruten när som helst under en icke-atomisk instruktion. Om processen dock tidigare har registrerat en så kallad signal handler, är det den rutinen som körs. Om ingen signal handler har registrerats är det default-signalen som skickas.