Örneklerle Linux’ta Kill Komutu Nasıl Kullanılır

Merhabalar,

 

Kill, Linux’ta işlemi manuel olarak sonlandırmak için kullanılan çok kullanışlı bir komuttur. Belirli bir süreci veya süreç grubunu nihai olarak sonlandıran veya öldüren bir sinyal gönderir. Kullanıcı kill komutuyla gönderilecek bir sinyal belirtmezse, işlem varsayılan TERM sinyali kullanılarak sonlandırılır.

 

Süreç bilgilerinin alınması:

ilk önce tepki vermeyen süreci bilgisini öğreneceğiz ve sonrasında sonladırma işlemi yapacağız. İşlem bilgisini top ve ps olmak üzere iki komut kullanarak alabiliriz. Çalışan işlemlerin bir listesini görmek için komut satırından top yazalım.

top

 

İlgili bazı detayları terminalde bulacaksınız. Örneğin, “Uygulama” ile ilgili sürecin yanıt vermediği bir durumu hayal edin. Bizim durumumuzda, üst komut ekranımıza göre, İşlem Kimlikleri (PID) 4077, 3943, 1774, 1608, 18657 ve 4636 ile çalışan altı adet Uygulama örneği vardır.

 

Üst kısım son derece kullanışlı olmasına rağmen, bilgi edinmenin her zaman en verimli yolu değildir. Şimdi diyelim ki uygulama işlemlerini öldürmeniz gerekiyor ama top komutundan gerçek zamanlı bilgi almak istemiyorsunuz. bu senaryoda ps komutunu kullanabilirsiniz. Ayrıca, grep komutunu kullanarak çıktıyı filtreleyebiliriz. Yalnızca Uygulama ile ilgili süreçleri listelemekle ilgileniyoruz. Uygulama ile ilgili işlemleri görmek için aşağıdaki komutu kullanın:

ps aux

Buna karşılık,

a = Kullanıcıyla ilgili tüm süreçleri göster

u = Sürecin sahibini/kullanıcısını göster.

x = Terminal ile ilgili olmayan tüm işlemleri göster

grep, bir desenle eşleşen satırları yazdırırken, ps geçerli bir işlemin anlık görüntüsünü döndürür. ps’yi filtrelemek için grep kullanmanın nedeni basittir: ps’yi tek başına çalıştırırsanız, çalışan tüm işlemlerin anlık görüntüsünü alırsınız.

 

yada belirli bir uygulama için işlemleri görüntüleyelim.

ps aux | grep firefox

 

Sinyallerin listesini görüntüleyin:

Tüm sinyallerin listesini görüntülemek için kill -l yazın. Kill komutu ile çeşitli sinyaller gönderebiliriz.

Verilen sinyaller listesinden herhangi bir sinyali seçebiliriz.

kill -l

Bazı yaygın sonlandırma sinyalleri vardır:

 

Sinyal adı Sinyal değeri Etkisi:

SIGHUP 1 Kapat

SIGINT 2 Klavyeden kesinti

SIGKILL 9 Öldürme Sinyali

SIGTERM 15 Sonlandırma sinyali 

SIGSTOP 17, 19, 23 İşlemi durdur

Sinyal belirtilmediğinde, varsayılan olarak -15 (-TERM) kullanılır.

 

Kimliğe göre işlemleri sonlandır:

Sonlandırma ile ilgili bazı öneml bilgiler verelim.

PID değeri sıfırdan büyükse, sinyal PID’ye eşit ID ile işleme gönderilir.

PID sıfıra eşitse, sinyal mevcut süreç grubundaki tüm süreçlere gönderilir. Başka bir deyişle, sinyal, kill komutunu çalıştıran kabuğun GID’sine ait tüm işlemlere gönderilir. İşlem grubu kimliklerini (GID’ler) görüntülemek için ps -efj komutunu kullanın.

PID -1’e eşitse sinyal, komutu çağıran kullanıcı ile aynı UID’ye sahip tüm işlemlere gönderilir. Çağıran kullanıcı root ise, sinyal init ve kill işleminin kendisi dışındaki tüm işlemlere gönderilir.

PID -1’den küçükse, sinyal, PID’nin mutlak değerine eşit GID eşit işlem grubundaki tüm işlemlerine gönderilir.

Normal kullanıcılar kendi süreçlerine sinyal gönderebilir, ancak diğer kullanıcılara ait olanlara değil, root ise diğer kullanıcıların süreçlerine sinyal gönderebilir.

Bu açıklamalardan sonra örneklerle işlemlere başlayalım.

 

Uygulamamızı sonlandırmak için kill komutunu kullanalım.

Söz dizimi şöyle olacak.

Kill signal PID

 

 

18657 işlemi sonlandırmak için kill sinyalini gönderin:

sudo kill -9 18657

 

16297 işlemlerini kapatmak için sinyali gönderelim

kill -1 16297

 

 

Bir uygulalamaya ait olan tüm PID leri öğrenmek için pidof kullanabiliriz.Ben işlemi firefox için yapıyor.

pidof firefox

 

Görüldüğü gibi  hepsinin bilgisini aldım.Şimdi bir komutla hepsini sonladırabilirim.

pid -9 5222 4905 4280 4155 4101 3879 3828 3751 3740 3729 3458 3373

 

 

 

Örneklerle eğitime devam edelim.

 

34185 işlemini kesmek için klavyeden sinyali gönderelim

kill -2 34185

 

 

İşlem adını kullanarak işlemi sonlandırma:

Uygulama altında çalışan tüm işlemleri öldürmek istiyorsanız. killall komutunu kullanalım.

killall -9 uygulama adı

 

Bu eğitim yazısının sonuna geldik.Umarım bu yazı sizler için faydalı olur.

 

Bu eğiticiye oy ver
[Total: 2 Average: 5]
Firat CANOĞLU TAĞ