kill işlevi
pid ile belirtilen süreç ya da süreç grubuna
sinyalnum sinyalini gönderir.
Standart Sinyaller bölümünde listelenen sinyallere ilaveten, ayrıca
pid süreç kimliğini doğrulamak için sıfır değerini de kullanabilirsiniz.
Sinyal alacak süreç veya süreç grubunu belirten pid değerleri ve anlamları:
- pid > 0
Belirteci pid olan süreç.
- pid == 0
Gönderen ile aynı gruptaki süreçlerin tümü.
- pid < -1
Belirteci -pid olan süreç grubu.
- pid == -1
Eğer süreç ayrıcalıklı ise, sinyal, bazı özel sistem süreçleri dışında kalan tüm süreçlere gönderilir. Aksi takdirde, sinyal, aynı etkin kullanıcı kimlikli tüm süreçlere gönderilir.
Bir süreç kill (getpid(), sinyal) gibi bir çağrı ile kendisine bir sinyal gönderebilir ve sinyal engellenmez, sonrasında kill dönmeden önce sürece en az bir sinyal (sinyalnum yerine beklemede olan engellenmeyen sinyaller gidebilir) gönderir.
Sinyal gönderme başarılı olduğunda kill sıfır ile döner. Aksi takdirde sinyal gönderilmemiş demektir ve -1 ile döner. Eğer pid bir sinyalin birden fazla sürece gönderilmesini belirtiyorsa, en azından bir sürece sinyal gönderilebilmişse kill sıfır ile dönecektir. Sinyali alan ve alamayan süreçlerin hangileri olduğunu saptayacak bir yöntem yoktur.
Bu işlev için tanımlanmış olan errno değerleri:
- EINVAL
sinyalnum geçersiz ya da desteklenmeyen bir numara.
- EPERM
pid ile belirtilen sürece ya da süreç grubundaki herhangi bir sürece bir sinyal göndermeye yetkili değilsiniz.
- ESRCH
pid mevcut bir süreci veya grubu betimlemiyor.