Neden UNIX sistem çağrısı kill 'kill' olarak adlandırılıyor?


41

İsmin tarihini merak ediyorum, bana öyle geliyor ki 'kill' sistem çağrısı 'sinyal' olarak adlandırılmış ve 'sinyal' sistem çağrısı 'tanıtıcı' olarak adlandırılmış olabilir.

Sistem çağrısının orijinal kullanımının basitçe başka bir işlemi öldürmek olup olmadığını merak ediyordum ve kullanımı belki de sistem geliştikçe daha genel bir sinyal gönderme mekanizmasına genişletildi - ama bu benim açımdan bir spekülasyon.

Kimse biliyor mu?

Yanıtlar:


55

Aslında, bir sinyalin asıl amacı, hedef süreci öldürmekti. Unix 3rd Edition'dakill ortaya çıktı ; zamanda kök salmaya mahsustu ve süreç zorla öldürüldü (bugün SIGKILL gibi) ve bir çekirdek dökümü bıraktı.

Unix 4. basım , signalbir sinyal işleyicisi ayarlamak için bir sinyal numarası argümanının yanı sıra eşlik eden sistem çağrısı ekledi . O sırada, hedef işlem henüz çağrılmadıkça tüm sinyaller hedef işlemi öldürdü ignore.

Zaman içinde, birkaç tanesi varsayılan olarak hedef işlemi sonlandırmayan, gittikçe daha fazla sinyal ortaya çıkmıştır. Ancak isim kaldı.

POSIX komite yeniden adlandırma tartışılan killbu yüzden değil daha fazla kafa karıştırıcı olurdu değişen, şuna dikkat gibi tüm sinyaller hedef sürecini sonlandırmak için tasarlanmıştır, ancak bu o noktaya göre tarihsel kullanımını yerleşik değildi çünkü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.