yükleniyor...

20 Nisan 2023

Linux İşletim Sisteminde İşlem Sonlandırma: kill, pkill ve fuser Komutları

kill Komutu

kill, Linux işletim sistemi kullanıcılarının bir işlemi sonlandırmalarına veya işlemi belirli bir sinyal ile uyarmalarına olanak tanıyan bir komuttur. Bu sinyaller, genellikle bir işlemi hemen durdurmak yerine, işlemi uyarmak veya bazı kaynaklarını serbest bırakmak için kullanılır.

kill komutu, bir işlem kimliği (PID) aracılığıyla bir işlemi sonlandırır. İşlem kimliğini öğrenmek için ps komutunu kullanabilirsiniz:

ps aux | grep <islem_adi>

Yukarıdaki komut, islem_adi olarak belirtilen isimdeki tüm işlemlerin PID’lerini gösterir.

Sonuçta, işlemi sonlandırmak için aşağıdaki komutu kullanabilirsiniz:

kill <PID>

Yukarıdaki komut, <PID> yerine öğrendiğiniz işlem kimliğini yazarak işlemi sonlandırır.

Detaylı kullanımı şu şekildedir:

kill [SINYAL] PID

Burada SINYAL, sonlandırmak için kullanılacak sinyali belirtir. Varsayılan sinyal TERM sinyalidir. PID ise az önceki örnekten bildiğiniz üzere sonlandırılacak işlemin PID numarasını belirtir.

kill komutunun en sık kullanılan sinyalleri şunlardır:

  • TERM (15) : İşlemi kibarca sonlandırmak için kullanılır. Bu sinyal, işlemdeki tüm dosyaları kapatır ve ardından işlemi sonlandırır.
  • KILL (9) : İşlemi hemen sonlandırmak için kullanılır. Bu sinyal, işlemdeki tüm dosyaları kapatmadan önce işlemi sonlandırır. Bu sinyal, bir işlem sonlandırılmak istendiğinde kullanılan en güçlü sinyaldir.
  • STOP (19) : İşlemi duraklatmak için kullanılır. Bu sinyal, işlemi sonlandırmaz ancak işlem kaynaklarının kullanımını dondurur.
  • CONT (18) : Duraklatılan bir işlemi devam ettirmek için kullanılır.

kill komutunun bazı yaygın kullanılan parametreleri şunlardır:

  • -s, belirtilen sinyali kullanarak işlemi sonlandırır. Örneğin, -s KILL komutu KILL sinyalini kullanarak işlemi sonlandırır.
  • -l, kullanılabilen tüm sinyalleri listeler.
  • -u, belirtilen kullanıcının tüm işlemlerini sonlandırır.
  • -1, SIGHUP sinyalini kullanarak işlemi sonlandırır.
  • -9, SIGKILL sinyalini kullanarak işlemi sonlandırır.

pkill Komutu

pkill, kill komutuna benzer bir şekilde işlemleri sonlandırmak için kullanılır. Ancak, pkill komutu bir işlem adı veya argümanı ile eşleşen tüm işlemleri sonlandırır. Örneğin, aşağıdaki komutu kullanarak apache sunucusu ile ilgili tüm işlemleri sonlandırabilirsiniz:

pkill apache

Yukarıdaki komut, apache işlem adı ile eşleşen tüm işlemleri sonlandırır.

Detaylı kullanımı şu şekildedir:

pkill [SEÇENEK] [İŞLEM ADI]

Burada SEÇENEK, kullanılacak parametreleri belirtir. İŞLEM ADI ise sonlandırılacak işlemlerin adını belirtir.

pkill komutunun bazı yaygın kullanılan parametreleri şunlardır:

  • -u, belirtilen kullanıcının işlemlerini sonlandırır.
  • -f, tam eşleşmeyi arar ve bulduğunda sonlandırır.
  • -n, sonlandırılacak işlem sayısını belirler.
  • -x, tam eşleşmeyi zorlar ve ayrıca yürütülebilir dosya adına bakar.

pkill komutunun en yaygın kullanılan parametresi -f dir. -f parametresi, tam eşleşmeyi arar ve bulduğunda sonlandırır. Bu, işlem adının tam olarak belirtilmediği durumlarda işlemi sonlandırmak için çok yararlıdır.

Ayrıca bir dizi işlemi aynı anda sonlandırmak için de kullanılabilir. Örneğin, pkill httpd komutu Apache web sunucusunda çalışan tüm işlemleri sonlandırır.

fuser Komutu

fuser, bir dosyanın kullanımını kontrol etmek için kullanılır. Bir dosyayı açan işlem kimliğini (PID) veya işlem adını gösterir.

fuser <dosya_yolu>

Yukarıdaki komut, <dosya_yolu> olarak belirtilen dosyanın kullanımda olduğu tüm işlem kimliklerini gösterir. Örneğin, aşağıdaki komutu kullanarak /home/furkan/asilalaybey.py dosyasını kullanan tüm işlemleri görebilirsiniz:

fuser /home/furkan/asilalaybey.py

fuser komutunu kullanarak, belirli bir dosyayı kullanımdan kaldırmak isterseniz, -k bayrağı ile birlikte kullanabilirsiniz:

fuser -k <dosya_yolu>

Yukarıdaki komut, <dosya_yolu> olarak belirtilen dosyayı kullanan tüm işlemleri sonlandırır.

Detaylı kullanımı şu şekildedir:

fuser [SEÇENEKLER] [DOSYA / DİZİN]

Burada, SEÇENEKLER, kullanılacak parametreleri belirtir. DOSYA / DİZİN ise aranacak dosyanın veya dizinin adını belirtir.

fuser komutunun bazı yaygın kullanılan parametreleri şunlardır:

  • -v veya --verbose, her işlem için ek bilgi sağlar.
  • -m veya --mount, bir dosya sistemi bağlantı noktasındaki tüm işlemleri gösterir.
  • -k veya --kill, belirtilen dosyaları kullanan tüm işlemleri sonlandırır.

fuser komutu, özellikle ağ bağlantı noktaları için kullanışlıdır. Örneğin, fuser -n tcp 80 komutu, TCP 80 portunu hangi işlemlerin kullandığını listeler.

Ayrıca bu komut dosyaları kilitleyen işlemleri de belirleyebilir. Örneğin, bir dosya üzerinde çalışan bir işlem kilitlediğinde, başka bir işlem aynı dosyayı açmak veya üzerine yazmak için bekleyebilir. fuser komutu bu tür durumları tespit etmek için kullanılabilir.

Dikkat Edilmesi Gerekenler

  • İşlem sonlandırma işlemi geri alınamaz. İşlem sonlandıktan sonra geri döndürülemez veya kurtarılamaz.
  • kill veya pkill komutunu kullanarak bir işlemi sonlandırdığınızda, işlem hemen durdurulmaz. İşlem sinyali alana kadar çalışmaya devam edebilir.
  • Bazı işlemler özel izinlere sahip olabilir ve yalnızca belirli kullanıcılar tarafından sonlandırılabilir.
  • fuser komutunu kullanarak bir dosyayı kullanımdan kaldırmak isterseniz, o dosyayı kullanmaya devam eden işlemler nedeniyle sorunlar yaşayabilirsiniz.
  • pkill komutunu kullanarak yanlışlıkla tüm işlemleri sonlandırabilirsiniz. Bu nedenle, özellikle büyük sistemlerde kullanmadan önce dikkatli olmanız gerekir.

Linux içinde yayınlandı
Bir yorum yaz