Önsöz.......
Linux İşletim Sistemi bir işlemi sonlandırmak için kill komutuyla birlikte gelir. Komut, büyük bir değişiklik / güncelleme işleminden sonra yeniden başlatmaya gerek kalmadan sunucuyu/lokal pc'yi yada arkaplan işlemini/programını çalıştırmaya devam etmeyi mümkün kılar. İşte Linux’un büyük gücü buradan gelmektedir ve bu nedenle Linux sunucuların % 90’ında kullanılmaktadır.
Kill komutu, bir işlem için özel olarak belirtilen bir sinyal gönderir. Kill komutu, doğrudan veya bir kabuk komut dosyasından birkaç farklı şekilde çalıştırılabilir.
Kill komutunun ortak sözdizimi:
Bir kill komutu için bir Sinyal Adı şöyle olabilir:
Açıkça SIGTERM yukarıdaki davranıştan bir süreci öldürmenin varsayılan ve en güvenli yoludur. SIGHUP , SIGTERM olarak bir süreci öldürmenin daha az güvenli bir yoludur. SIGKILL , yukarıdakiler arasında en güvenli olmayan yöntemdir, çıktıların kayıt edilmesini beklemeden işlemi sonlandırır.
Bir süreci öldürmek için, işlem kimliğini(PID) bilmemiz gerekir. Bir program başlatıldığında, otomatik olarak bu süreç için benzersiz bir işlem kimliği (PID) oluşturulur.
Linux’taki her sürecin bir işlem kimliği(PID) bulunur . Linux Sistemi önyüklendiğinde başlayan ilk süreç – init sürecidir , bu nedenle çoğu durumda ‘ 1 ‘ değerine atanır.
Init , ana süreci oluşturduğu için bu komutla sonlandırılamaz, dolayısı ile ana sürecin yanlışıkla sonlandırılması önlenmiş olmaktadır. Init kendisini ancak bilgisayarın kapatılması durumunda sonlandırmaya izin verecek şekilde tasarlanmıştır.
Bilgisayarınızdaki tüm süreçleri ve onlara bağlı işlem kimliklerini öğrenmek için PS komutunu kullanabilirsiniz.
ÖRNEK ÇIKTI :
Pidof süreç_adı ‘ şeklinde verilen bir komut ile çıktıyı özelleştirmenizde mümkündür.
ÖRNEK ÇIKTI :
Ama önce kill komutunu kullanmadan dikkat edilmesi gereken bazı önemli noktalara göz atalım:
1.Bir kullanıcı tüm süreçlerini öldürebilir.
2.Bir kullanıcı başka bir kullanıcının sürecini öldüremez.
3.Kullanıcı sisteme ait bir süreci sonlandıramaz.
4.Kök kullanıcı(root) Sistem düzeyinde işlemi ve herhangi bir kullanıcının işlemini öldürebilir.
Aynı işlevi gerçekleştirmenin başka bir yolu ‘ pgrep ‘ komutunu çalıştırmaktır.
ÖRNEK ÇIKTI :
Yukarıdaki komut, işlem kimliği (PID) = PID Numaras olan süreci öldürür; buradaki PID , işlemin Sayısal Değeridir .Aynı işlevi yerine getirmenin başka bir yolu olarak yeniden yazılabilir.
kill - SIGTERM PID Numarası
Peki sürecin adını kullanarak, süreci sonlandırmaya ne dersiniz?Burada dikkat edilmesi gereken nokta doğru işlem adını yazmanız gerektiğidir, aksi takdirde yanlış bir süreci sonlandırıp işleri karmaşık bir hale getirebilirsiniz.
Bir seferde birden fazla sürecei sonlandırmak için aşağıdaki komut yardımınıza koşacaktır
veya
veya
Bir sürecin çok fazla örneği ve çok sayıda alt süreci varsa, ‘ killall ‘isimli bir komutumuz var. Bu, tüm süreçleri bir defada sonlandırmayı sağlar.
Kullanım Şekli:
Tüm komut_adı örneklerini alt süreçlerle birlikte sonlandırmak için aşağıdaki komutu kullanın.
Aşağıdaki komutlardan herhangi birini kullanarak işlemin çalışıp çalışmadığını her zaman kontrol edebilirsiniz.
Çeviri Sitesi:
Çeviren/Tercüme Eden/Sadeleştiren : TRWE_2012
Linux İşletim Sistemi bir işlemi sonlandırmak için kill komutuyla birlikte gelir. Komut, büyük bir değişiklik / güncelleme işleminden sonra yeniden başlatmaya gerek kalmadan sunucuyu/lokal pc'yi yada arkaplan işlemini/programını çalıştırmaya devam etmeyi mümkün kılar. İşte Linux’un büyük gücü buradan gelmektedir ve bu nedenle Linux sunucuların % 90’ında kullanılmaktadır.
Kill komutu, bir işlem için özel olarak belirtilen bir sinyal gönderir. Kill komutu, doğrudan veya bir kabuk komut dosyasından birkaç farklı şekilde çalıştırılabilir.
Kill komutunun ortak sözdizimi:
Kod:
# kill [sinyal veya seçenek] PID (ler)
Bir kill komutu için bir Sinyal Adı şöyle olabilir:
Kod:
**********************************************
|---------------------------------------------|
|[SİNYAL_ADI] [DEĞERİ] [NE İFADE ETTİĞİ] |
|-------------------------------------------- |
|SIGHUP 1 Hangup |
|SIGKILL 9 Sinyali Öldür |
|SIGTERM 15 Sonlandır |
*********************************************
Açıkça SIGTERM yukarıdaki davranıştan bir süreci öldürmenin varsayılan ve en güvenli yoludur. SIGHUP , SIGTERM olarak bir süreci öldürmenin daha az güvenli bir yoludur. SIGKILL , yukarıdakiler arasında en güvenli olmayan yöntemdir, çıktıların kayıt edilmesini beklemeden işlemi sonlandırır.
Bir süreci öldürmek için, işlem kimliğini(PID) bilmemiz gerekir. Bir program başlatıldığında, otomatik olarak bu süreç için benzersiz bir işlem kimliği (PID) oluşturulur.
Linux’taki her sürecin bir işlem kimliği(PID) bulunur . Linux Sistemi önyüklendiğinde başlayan ilk süreç – init sürecidir , bu nedenle çoğu durumda ‘ 1 ‘ değerine atanır.
Init , ana süreci oluşturduğu için bu komutla sonlandırılamaz, dolayısı ile ana sürecin yanlışıkla sonlandırılması önlenmiş olmaktadır. Init kendisini ancak bilgisayarın kapatılması durumunda sonlandırmaya izin verecek şekilde tasarlanmıştır.
Bilgisayarınızdaki tüm süreçleri ve onlara bağlı işlem kimliklerini öğrenmek için PS komutunu kullanabilirsiniz.
Kod:
# ps -A
ÖRNEK ÇIKTI :
Kod:
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 migration/0
6 ? 00:00:00 watchdog/0
7 ? 00:00:01 events/0
8 ? 00:00:00 cgroup
9 ? 00:00:00 khelper
10 ? 00:00:00 netns
11 ? 00:00:00 async/mgr
12 ? 00:00:00 pm
13 ? 00:00:00 sync_supers
14 ? 00:00:00 bdi-default
15 ? 00:00:00 kintegrityd/0
16 ? 00:00:00 kblockd/0
17 ? 00:00:00 kacpid
18 ? 00:00:00 kacpi_notify
19 ? 00:00:00 kacpi_hotplug
20 ? 00:00:00 ata/0
21 ? 00:00:00 ata_aux
22 ? 00:00:00 ksuspend_usbd
Pidof süreç_adı ‘ şeklinde verilen bir komut ile çıktıyı özelleştirmenizde mümkündür.
Kod:
# pidof komut_adı
ÖRNEK ÇIKTI :
Kod:
# ps aux |grep komut_adı
Kod:
# ps aux |grep komutun_PID_No'su
Ama önce kill komutunu kullanmadan dikkat edilmesi gereken bazı önemli noktalara göz atalım:
1.Bir kullanıcı tüm süreçlerini öldürebilir.
2.Bir kullanıcı başka bir kullanıcının sürecini öldüremez.
3.Kullanıcı sisteme ait bir süreci sonlandıramaz.
4.Kök kullanıcı(root) Sistem düzeyinde işlemi ve herhangi bir kullanıcının işlemini öldürebilir.
Aynı işlevi gerçekleştirmenin başka bir yolu ‘ pgrep ‘ komutunu çalıştırmaktır.
ÖRNEK ÇIKTI :
Kod:
# pgrep komut_adı
PID Numarası [bulundu]
Kod:
#-9 PID Numarası
Yukarıdaki komut, işlem kimliği (PID) = PID Numaras olan süreci öldürür; buradaki PID , işlemin Sayısal Değeridir .Aynı işlevi yerine getirmenin başka bir yolu olarak yeniden yazılabilir.
kill - SIGTERM PID Numarası
Peki sürecin adını kullanarak, süreci sonlandırmaya ne dersiniz?Burada dikkat edilmesi gereken nokta doğru işlem adını yazmanız gerektiğidir, aksi takdirde yanlış bir süreci sonlandırıp işleri karmaşık bir hale getirebilirsiniz.
Kod:
pkill komutun adı
Bir seferde birden fazla sürecei sonlandırmak için aşağıdaki komut yardımınıza koşacaktır
Kod:
# kill PID1 PID2 PID3
Kod:
# kill -9 PID1 PID2 PID3
Kod:
# kill-SIGKILL PID1 PID2 PID3
Bir sürecin çok fazla örneği ve çok sayıda alt süreci varsa, ‘ killall ‘isimli bir komutumuz var. Bu, tüm süreçleri bir defada sonlandırmayı sağlar.
Kullanım Şekli:
Kod:
# killall [sinyal veya seçenek] Süreç Adı
Tüm komut_adı örneklerini alt süreçlerle birlikte sonlandırmak için aşağıdaki komutu kullanın.
Kod:
# killall komut_adı
Aşağıdaki komutlardan herhangi birini kullanarak işlemin çalışıp çalışmadığını her zaman kontrol edebilirsiniz.
Kod:
# service komut_adı status
Kod:
# pgrep komut_adı
Kod:
# ps -aux | grep komut_adı
Çeviri Sitesi:
Kod:
https://www.tecmint.com/how-to-kill-a-process-in-linux/