Öldürme komutu nedir?
Linux gelişmiş ve mükemmel bir işletim sistemidir; ancak mükemmel değil. Birkaç uygulama dikkatsiz davranmaya başlayabilir ve duyarsızlaşabilir veya birçok sistem kaynağını tüketmeye başlayabilir.
Duyarsız uygulamalar yeniden başlatılamaz çünkü gerçek başvuru süreci hiçbir zaman tamamen sona ermez. Tek bir çözüm, sistemi yeniden başlatmak veya uygulama sürecini sonlandırmak içindir.
Hatalı süreçleri sonlandırmamıza izin veren çeşitli yardımcı programlar vardır. öldürmek emretmek. Bu komut en çok Linux'ta kullanılır.
İçinde Linux kill komutu (/bin/kill içinde bulunur) yerleşik bir komut olarak tanımlanabilir.
İşlemlerin manuel olarak sonlandırılması için kullanılır. Kill komutunun davranışı kabuklar ve mermiler arasında biraz farklıdır. /bin/öldür bağımsız yürütülebilir.
Sistemimizde kill içeren her lokasyonun görüntülenmesi için type komutunu uygulayabiliriz:
$ type -a kill
Kill komutu, süreci daha da sonlandıracak bir sürece doğru bir sinyal aktarır. Kullanıcı kill komutuyla aktarılacak herhangi bir sinyali tanımlamadığında, TERİM Süreci sonlandıracak sinyal (varsayılan) aktarılır. Sinyal tanımlanmazsa, varsayılan olarak şu şekilde olacaktır: -onbeş ( -TERİM ).
En yaygın olarak uygulanan sinyaller şunlardır:
Kill komutunu aşağıdaki komutla birlikte kullanabiliriz. -ben Mevcut her sinyalin listesini alma seçeneği:
Rajesh Khanna
$ kill -l
Bu sinyaller üç farklı şekilde tanımlanabilir. Bu yollar aşağıda sıralanmıştır:
- Sayıya göre (ör. -6)
- SIG öneki olmadan (ör. -kill)
- SIG önekiyle (ör. -SIGkill)
Aşağıdaki komutlar birbirine benzer:
- $ kill -SIGHUP PID_NUMBER
- $ kill -HUP PID_NUMBER
- $ öldür -1 PID_NUMBER
Kill komutuna verilen PID'ler aşağıdakilerden herhangi biri olabilir:
- PID sıfırdan büyük olduğunda sinyal, PID'ye benzer ID ile birlikte işleme aktarılacaktır.
- PID sıfıra eşit olduğunda sinyal, mevcut işlem grubu içindeki her işleme aktarılacaktır. Bu, sinyalin, kill komutunu talep eden Shell GID ile ilgili her işleme aktarılacağı anlamına gelir. uygulayabiliriz ps-efj süreç grubunun (GID'ler) kimliklerini görüntüleme komutu.
- PID -1'e eşdeğer olduğunda sinyal, komutu talep eden kullanıcınınkine benzer UID ile birlikte her işleme aktarılacaktır. Talep eden kullanıcı root ise sinyal, kill ve init işlemleri dışındaki tüm işlemlere aktarılacaktır.
- PID -1'den küçük olduğunda sinyal, PID'nin mutlak değerine benzer şekilde GID ile birlikte süreç grubu içindeki her işleme aktarılacaktır.
Düzenli kullanıcılar sinyalleri süreçlerine aktarabilirler. Ancak başka herhangi bir kullanıcıyla ilişkisi olan kullanıcıları kapsamaz. Öte yandan kök kullanıcı, sinyali diğer kullanıcının işlemlerine aktarabilmektedir.
- -1'in PID'si çok benzersizdir çünkü sistem üzerindeki her sürecin ana süreci olan init ve kill dışındaki her süreci gösterir.
- PID'nin negatif değerleri süreç grubu kimliğini belirtmek için kullanılır. Herhangi bir süreç grubu kimliğini ilettiğimizde o grup içindeki her süreç sinyali alacaktır.
- Çalışan işlemler listesini göstermek için ps komutunu kullanabiliriz ve bu bize çalışan işlemleri PID numarasıyla birlikte gösterecektir. Kill komutunun sinyalini hangi sürecin alması gerektiğini belirtmek için PID'yi vermemiz gerekiyor.
Sözdizimi:
$ps
Not: Bu komut, çalışan her işlemi PID'leri ve diğer ayrıntılarıyla birlikte görüntülemek için kullanılır. İşlem kimliğini bilmiyorsak bu komutu kullanabiliriz.
Kill komutunun seçenekleri
1. öldür -l: Bu seçenek mevcut her sinyali görüntülemek için kullanılır, aşağıdaki komut seçeneğini uygulayabiliriz:
Sözdizimi:
$kill -l
2. pid'i öldür: Bu seçenek, kill komutuyla birlikte PID'nin nasıl uygulanacağını göstermek için kullanılır.
Sözdizimi:
$kill pid
3. öldür -L: Kill -L komutu, mevcut sinyalleri bir tablo formatında listelemek için kullanılabilir.
Sözdizimi:
/bin/kill -L
4. Çeviri Sinyal Numarası: Aşağıdaki komutu kullanarak herhangi bir sinyal numarasını kolayca sinyal adına çevirebiliriz:
/bin/kill --list=12