Killport: Linux’ta Port Numarasına Göre İşlemleri Durdurma

killport is a CLI tool that provides a simple solution to stop processes by their port number, thereby resolving the problem of users struggling to identify the processes behind an open port.

This way, you don’t have to follow the traditional method of finding the open port, then looking for the responsible processes behind that port, then finding the process PID, and then stopping it.

Instead, all you need to do is pass the port number to the killport command as an argument, and then it will immediately stop the processes behind that port by sending “SIGTERM” signals.

In this article, I’ll show you its features, how to install killport on Linux, how to list open ports, and then stop it by using the port number with killport.

Killport’un Özellikleri

Killport’un öne çıkan özelliklerinin bir listesi aşağıdadır:

  • Platformlar arasıdır ve Linux, Windows ve macOS için kullanılabilir.
  • İşlemleri bağlantı noktası numarasına göre sonlandırın.
  • Aynı anda birden fazla bağlantı noktasını öldürebilirsiniz.
  • Gönderilecek bir “SIGHUP”, “SIGKILL” veya “SIGTERM” sinyali belirtin.
  • Ayrıntılı çıktı almak için ayrıntılı seçeneğini kullanın.

Linux’ta Killport Nasıl Kurulur

Killport’u istediğiniz Linux dağıtımına kurmanın birden fazla yolu vardır; önerilen “brew” komutunu kullanmaktır. Bu nedenle, Linux sisteminizde Homebrew yüklüyse, aşağıdaki komutu kullanabilirsiniz (macOS için de çalışır).

$ brew install killport

Linux, Windows veya macOS’unuzda Cargo paket yöneticisi yüklüyse, aşağıdaki komutu kullanarak kolayca yükleyebilirsiniz:

$ cargo install killport

Son olarak, Linux ve macOS’ta, isterseniz, curl komutunu kullanarak kurulum komut dosyasını (önerilmez) kullanabilirsiniz. Komut dosyası otomatik olarak en son ikili paketi indirecek ve kullanıcıların “/bin” dizinine yerleştirecektir.

📝
$PATH ortam değişkeninize “$HOME/.local/bin” eklediğinizden emin olun. Bunu nasıl yapacağınızdan emin değilseniz, kabuk yapılandırma dosyanızın sonuna şu satırı eklemeniz yeterlidir: “export PATH=”$HOME/.local/bin:$PATH”” (“bash için “~/.bashrc”).
$ curl -sL https://bit.ly/killport | sh

 

Tamamlandığında, Linux sisteminize başarılı kurulumunu onaylamak için aşağıdaki komutu çalıştırabilirsiniz:

$ killport --help

Çıktı:

killport help section

Kullanımı Killport

Killport kurulduktan sonra, port numaralarına göre öldürme işlemlerine başlayabilirsiniz. Kullanımını göstermek için önce “ss” veya “netstat” komutlarını kullanarak Linux sistemimdeki tüm açık bağlantı noktalarının listesini kontrol edeceğim:

$ ss -tulpn

#OR

$ netstat -tulpn

Çıktı:

listing open ports linux

Yukarıdaki resimde, “80” ve “88” bağlantı noktalarının Nginx ve Apache2 tarafından yönetilen bir LISTEN durumunda olduğu gösterilmiştir. Bu açık bağlantı noktalarından birini veya her ikisini durdurmak için aşağıdaki killport komutlarını kullanabilirsiniz:

📝
Kullanıcı tarafından başlatılan bir işlemi kolayca sonlandırabilirsiniz, ancak sistem düzeyindeki işlemler root veya sudo ayrıcalıkları gerektirir.
# The following command will kill port 80.
$ sudo killport 80

# The following command will kill ports 80 and 88 at onces.
$ sudo killport 80 88

Çıktı:

killing services by port number using killport

Voila, “80” ve “88” bağlantı noktalarında dinlemekten sorumlu iki işlemi başarıyla sonlandırdınız. Size kanıtı göstermek için Linux sistemimdeki tüm açık bağlantı noktalarının listesini yeniden kontrol edeceğim.

confirming the port is closed

Dikkat ederseniz, bahsedilen iki bağlantı noktası listede yok. Şimdi, çıktıda bir “[ERROR] ESRCH: Böyle bir işlem yok” mesajı olduğunu düşünüyor olabilirsiniz, bu da hiçbir zaman böyle bir işlem olmadığını ve hiçbir şeyin sonlandırılmadığını gösteriyor. O zaman dostum, yanılıyorsun.

Çıktıda aldığımız mesaj prosese gönderilen son sinyaldir ve hedef prosesin sonlandırılmasını sağlar. Onaylamak için “-v” bayrağını kullanarak ayrıntılı modu etkinleştirebilir ve sonunda bu mesajın göründüğünü kendiniz görebilirsiniz.

$ sudo killport -v 80 88

Çıktı:

enabling verbose mode in killport

Sana söyledim, bak. Son olarak, belirli “SIGHUP”, “SIGKILL” veya “SIGTERM” sinyalini kullanarak işlemi sonlandırmak için “-s” bayrağını kullanabilirsiniz. Ancak, aralarındaki farklardan emin değilseniz, aşağıdaki tabloya başvurabilirsiniz:

Sinyal AdıSinyal DeğeriDavranış
SIGHUP1Kapatma (daha az güvenli bir yol)
SIGKILL9Öldürme Sinyali (güçlü)
SIGTERM15Sonlandır (varsayılan ve en güvenli)

Bu nedenle, bir “SIGKILL” sinyali göndererek “80” ve “88” bağlantı noktalarından sorumlu işlemi sonlandırmak için aşağıdaki komutu kullanın:

$ sudo killport -v 80 88 -s sigkill

Çıkış:

killing process using sigkill signal in killport

Bu kadar. İşte bu makalenin sonu geliyor. Size fikrimi söylemek gerekirse, bu aracı oldukça şaşırtıcı buluyorum çünkü süreç PID’sini bulmak ve sonra onu öldürmek beni hasta ediyor. Genellikle hangi bağlantı noktalarının benim tarafımdan başlatıldığının farkındayım ve bunları kolayca tanımlayabiliyorum, bu yüzden ihtiyaç duymadıklarında “killport” komutunu kullanarak onları hızlı bir şekilde öldürebiliyorum.

 

 

Yazının oijinalini buradan okuyabilriisniz

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.