Bir sinyal üretidiğinde
beklemeye alınır. Normalde kısa bir süre için beklemede kaldıktan sonra sinyalleyeceği sürece gönderilir. Eğer sinyal engellenen türde ise sonsuza kadar beklemede kalır--sinyal engellenemeyecek duruma gelininceye kadar. Sinyalin engellenemeyeceği durum oluştuğunda anında gönderilecektir. Bkz.
Sinyallerin Engellenmesi.
Bir sinyal gönderildiğinde, hemen ya da uzun bir beklemenin ardından bu sinyal için belirlenmiş eylem alınır.
SIGKILL ve
SIGSTOP gibi sinyaller için eylem bellidir, ama diğer sinyaller için yazılım bazı seçimler yapabilir: sinyali yoksayabilir, bir
sinyalle tetiklenen işlev belirtebilir ya da bu sinyal için geçerli olan
öntanımlı eylemi kabul eder. Yazılım seçimini
signal veya
sigaction (
Sinyal Eylemlerinin Belirtilmesi) gibi bir işlev ile belirtir. Kimi zaman sinyalle tetiklenen işlevlerden belge içinde kimi zaman
sinyal yakalayıcı kimi zaman da
eylemci işlev olarak da söz edeceğiz. Bu işlev çalışırken buna ilişkin sinyal engellenir.
Bir sinyal için belirlenmiş eylem onun yoksayılması ise, böyle bir sinyal üretildiği anda iptal edilir. Bu, sinyal zamanında engellendiğinde de böyle olur. Bu yolla iptal edilmiş bir sinyal asla gönderilmez; yazılımda hemen ardından böyle bir sinyal için farklı bir eylem belirtilse hatta engellenmeyeceği belirtilse bile.
Bir sinyali ne işleme sokacağını ne de yoksayacağını belirtmemişse bu sinyal geldiğinde yazılım, sinyalin
öntanımlı eylemini almış olur. Her sinyal türü kendine özgü bir öntanımlı eyleme sahiptir. Bunlar
Standart Sinyaller bölümünde açıklanmıştır. Sinyallerin çoğu için öntanımlı eylem sürecin sonlandırılmasıdır. "Zararsız" olaylar için gönderilen sinyaller için öntanımlı eylem ise hiçbir şey yapılmamasıdır.
Bir sinyal bir süreci sonlandırdığında onu çalıştıran süreç sonlanma sebebini
wait veya
waitpid işlevleri kullanarak onlardan dönen sonlanma durum koduna bakarak saptayabilir. (Bu
Süreç Tamamlama bölümünde ayrıntılı olarak açıklanmıştır.) Alınan bilgi, sonlanmaya bir sinyalin mi sebep olduğunu ve ne çeşit sinyal alındığını içerir.
Normalde yazılım hatalarını gösteren sinyaller özel bir niteliğe sahiptir: bu sinyallerden biri süreci sonlandırdığında, sonlanma sırasında sürecin durumunu gösteren core isimli bir döküm dosyası çıktılanır. Bu dosyayı bir hata ayıklayıcı ile inceleyip hatanın sebebini saptayabilirsiniz.
Yazılımınızın oluşturduğu bir "yazılım hatası"nın sonucu olarak bir sinyal alınıp bunun sonucu olarak süreç sonlandığında tıpkı bir hatanın sonucunda olduğu gibi core dosyası çıktılanır.