Öncelikle Unix benzeri sistemlerde Sinyallerin ne olduğunu bilmeniz gerekir (Sadece birkaç dakika sürecektir).
Sinyaller , önemli bir olayın meydana geldiğini belirtmek için (çalışan) bir programa gönderilen yazılım kesintileridir.
Olaylar, kullanıcı isteklerinden yasadışı bellek erişim hatalarına kadar değişebilir. Kesme sinyali gibi bazı sinyaller, bir kullanıcının programdan normal kontrol akışında olmayan bir şey yapmasını istediğini gösterir.
Kullanabileceğimiz birkaç Sinyal türü vardır - tüm kullanılabilir / olası Sinyallerin tam listesini almak için " $ kill -l " komutunu kullanın:
Yukarıdaki çıktıda, her Sinyalin kendisiyle ilişkili bir ' sinyal numarası ' (örneğin 1, 2, 3) ve bir ' sinyal adı ' (örn. SIGUP, SIGINT, SIGQUIT) olduğu açıkça görülmektedir. Her Signal'in ne yaptığına dair ayrıntılı bir bakış için bu bağlantıyı ziyaret edin .
Son olarak, " Kill -9 komutunda neden 9 numara" sorusuna gelirsek :
Bir programa veya komut dosyasına sinyal göndermenin birkaç yöntemi vardır. Sinyal göndermek için yaygın olarak kullanılan yöntemlerden biri, kill komutunu kullanmaktır - temel sözdizimi şudur:
$ kill -signal pid
Burada sinyal, sinyalin numarası veya adıdır , ardından sinyalin gönderileceği işlem kimliği (pid) gelir.
Örneğin - -SIGKILL (veya -9 ) sinyali, işlemi anında sonlandırır .
$ kill -SIGKILL 1001
ve
$ kill -9 1001
her iki komut da aynı şeydir, yani yukarıda "sinyal adı" nı kullandık ve daha sonra "sinyal numarası" nı kullandık.
Karar : Kill komutuyla 'sinyal adı' veya 'sinyal numarası' kullanılıp kullanılmayacağına dair açık bir seçim vardır .