Bir
sinyal bir sürece gönderilen bir yazılım kesmesidir. İşletim sistemi, sinyalleri, çalışan bir yazılıma olağandışı durumları raporlamakta kullanır. Bazı sinyaller geçersiz bellek adreslerine erişim gibi durumlarda hata raporlamakta, bazıları da bir telefon hattının kapanması gibi rasgele olayları raporlamakta kullanılır.
GNU C kütüphanesi her biri başka bir çeşit olaya karşılık olmak üzere çeşitli sinyal türleri tanımlar. Bazı olaylar, bir yazılımı çalışmasını imkansız kılabilir, bu tür olayları raporlayan sinyallar yazılımın çalışmasını durdurmasına sebep olur. Diğer sinyal çeşitleri zararsız olayları raporlar ve bunlar öntanımlı olarak yoksayılır.
Bir olayın sinyallere sebep olacağını umuyorsanız, sinyalle tetiklenen bir işlev tanımlayıp, işletim sistemine böyle sinyaller geldiğinde bu işlevi çalıştırmasını belirtebilirsiniz.
Son olarak, bir süreç başka bir sürece sinyal gönderebilir; bu bir sürecin kendi alt sürecini durdurması gerektiğinde ya da birbiriyle haberleşerek eşzamanlı çalışması gereken süreçler arasında kullanılabilir.