Linux makinenizdeki belirli bir bağlantı noktasında çalışan bir işlemi durdurmanızı gerektiren bir durumla hiç karşılaştınız mı?
Çalıştırdığınız bir uygulamanın hatalı davrandığından veya ağ kaynaklarınızı veya yerel CPU gücünüzü tükettiğinden endişeleniyor olabilirsiniz. Böyle bir uygulama ortadan kaldırmak istediğiniz bir güvenlik tehdidi bile olabilir.
Sebep ne olursa olsun, terminalden fuser,lsofvenetstatkomutlarını kullanabilirsiniz (kill ile birlikte)) bir bağlantı noktası numarası kullanarak herhangi bir Linux işlemini bulmanıza ve sonlandırmanıza yardımcı olmak için. Bu komutlar, Ubuntu dahil çoğu Linux işletim sisteminde çalışacaktır.
Fuser Komutunu Kullanarak Bir Linux İşlemi Nasıl Sonlandırılır
Bağlantı noktası numarası kullanarak bir işlemi sonlandırmanın en kolay yollarından biri fuserkomutunu kullanmaktır. Bu Linux terminal komutu, dosyalara veya yuvalara erişen işlemleri listeleyebilir veya sonlandırabilir. Bir uygulama ağ etkinliğiyle çalışıyorsa (ve dolayısıyla açık bir bağlantı noktası kullanıyorsa), muhtemelen bu iki şeyden birini yapıyordur.
Devam etmeden önce, Linux PC'nizde komut satırı terminalini rahatça kullanabildiğinizden emin olmanız gerekir.
fuserkullanarak bağlantı noktası numarası kullanan işlemleri listelemek için aşağıdaki söz dizimini kullanabilirsiniz:
kaynaştırıcı -n protokol bağlantı noktası
Bu örnekte, protokol, tcpveya udpolabilir, bağlantı noktasıise istediğiniz bağlantı noktası numarasıdır kontrol etmek. Örneğin, hangi işlemlerin TCP bağlantı noktası 80'i kullandığını görmek için şunu çalıştırabilirsiniz:
kaynaştırıcı -n tcp 80
Bu, söz konusu bağlantı noktasını kullanan işlemlerin işlem kimliklerini (PID'ler) yazdıracaktır.
Bu işlemleri sonlandırmak için -kseçeneğini fuser'a ekleyebilirsiniz. Bu, her bir işleme bir SIGTERM sinyali göndererek, onlardan düzgün bir şekilde sonlandırılmalarını isteyecektir. Örneğin:
kaynaştırıcı -k -n tcp 80
Bu, TCP bağlantı noktası 80'i kullanan tüm işlemleri sonlandıracaktır.
Bazı işlemler SIGTERM'e yanıt vermiyorsa -kyerine -KILLkomutunu kullanabilirsiniz. Bu, tanımladığınız halihazırda çalışan süreçlerin derhal sonlandırılmasına yardımcı olabilecek bir öldürme sinyali (SIGKILL) gönderecektir. Ancak bu, veri kaybına veya bozulmasına neden olabilir; bu nedenle dikkatli kullanın. Örneğin:.
kaynaştırıcı -KILL -n tcp 80
Bu, TCP bağlantı noktası 80'i kullanan tüm işlemleri zorla sonlandıracaktır. Herhangi bir sorunla karşılaşırsanız, bu komutları süper kullanıcı olarak (sudokomutunu kullanarak) veya bunun yerine rootkullanıcısını
kullanarak çalıştırın.Linux İşlemini lsof Komutunu Kullanarak Sonlandırma
Linux PC'de bağlantı noktası numarası kullanarak bir işlemi sonlandırmanın başka bir yolu da lsofkomutunu kullanmaktır. Bu komut, sisteminizdeki açık dosyaları ve yuvaları listeleyebilir.
Belirli bir bağlantı noktası numarasını kullanan işlemleri listelemek için aşağıdaki sözdizimini kullanabilirsiniz:
lsof -i protokolü:bağlantı noktası
Daha önce olduğu gibi, protokoltcpveya udpolabilir, bağlantı noktasıise istediğiniz bağlantı noktası numarasıdır kontrol etmek. Örneğin, hangi işlemlerin TCP bağlantı noktası 53'ü (genellikle DNS istekleri için kullanılır) kullandığını görmek için şu komutu çalıştırabilirsiniz:
lsof -i tcp:53
Bu, söz konusu bağlantı noktasını kullanan her işlemle ilgili, PID'si de dahil olmak üzere bazı bilgileri yazdıracaktır.
Bu işlemleri sonlandırmak için -tseçeneğini lsofile kullanabilirsiniz. Bu, başka hiçbir bilgi olmadan yalnızca süreçlerin PID'lerini yazdıracaktır. Daha sonra bu çıkışı herhangi bir sinyal seçeneğiyle killkomutuna aktarabilirsiniz. Örneğin:
kill $(lsof -t -i tcp:53)
Bu, TCP bağlantı noktası 53'ü kullanan tüm işlemlere SIGTERM sinyallerini (varsayılan) gönderecektir.
Bazı işlemler SIGTERM sinyallerine daha önce olduğu gibi yanıt vermiyorsa killsonrasında hiçbir şey yerine -9kullanabilirsiniz. Bu, daha önce olduğu gibi SIGKILL sinyalleri göndererek bunların hemen sonlandırılmasına neden olur ancak aynı zamanda veri kaybına veya bozulmasına da neden olabilir. Örneğin:
kill -9 $(lsof -t -i tcp:53)
Bu, SIGKILL sinyallerini (varsayılan) TCP bağlantı noktası 53'ü kullanan tüm işlemlere zorla gönderecektir.
Netstat Komutunu Kullanarak Bir Linux İşlemi Nasıl Sonlandırılır
Etkin ve açık ağ bağlantı noktalarını kullanarak Linux PC'nizde çalışan işlemleri izlemek için netstatkomutunu da kullanabilirsiniz. netstat, sisteminizdeki ağ bağlantılarını ve istatistikleri görüntülemenizi sağlayarak sorunlu süreçleri belirlemenize olanak tanır.
İşlemleri PID'leriyle birlikte bir bağlantı noktası numarası kullanarak listelemek için iki seçenek eklemeniz gerekir: PID'leri gösteren -pve PID'leri gösteren -lyalnızca dinleme yuvaları..
Ayrıca protokolü (tcp, udp vb.) belirtmeniz ve isteğe bağlı olarak duruma göre filtrelemeniz (LISTEN vb.) gerekir. Örneğin, herhangi bir bağlantı noktasında hangi TCP işlemlerinin dinlediğini görmek için şunu çalıştırabilirsiniz:
netstat -p tcp -l
Bu, PID'si de dahil olmak üzere herhangi bir bağlantı noktasını dinleyen her TCP soketiyle ilgili bilgileri yazdıracaktır.
Belirli bağlantı noktalarına göre filtrelemek için başka bir seçenek eklemelisiniz: adlar yerine sayısal adresleri gösteren -n. Ayrıca tam adres biçimini de belirtmeniz gerekir: [protokol][@anasistem adı|hostaddr][:hizmet|bağlantı noktası].
Örneğin, 80 numaralı bağlantı noktasında hangi TCP işlemlerinin dinlediğini görmek için şunu çalıştırabilirsiniz:
netstat -p tcp -l -n 80
Bu, PID'si de dahil olmak üzere, 8080 numaralı bağlantı noktasını dinleyen her TCP soketi hakkındaki bilgileri yazdıracaktır.
Bu işlemleri sonlandırmak için killkomutunu istediğiniz sinyal seçeneğiyle ve netstat'tan edindiğiniz PID'lerle kullanabilirsiniz. Örneğin:
1234 5678'i öldür
Bu, 1234ve 5678PID'lerine sahip işlemlere SIGTERM sinyallerini (varsayılan) gönderecektir.
Bazı işlemler SIGTERM sinyallerine daha önce olduğu gibi yanıt vermiyorsa killsonrasında hiçbir şey yerine -9kullanabilirsiniz. Bu, daha önce olduğu gibi SIGKILL sinyallerini göndererek onları hemen sonlandırmaya zorlayacaktır ancak daha önce olduğu gibi veri kaybına veya bozulmasına neden olabilir. Örneğin:
öldür -9 1234 5678
Bu, örneğin 1234ve 5678PID'lerine sahip işlemlere SIGKILL sinyallerini güçlü bir şekilde gönderecektir. 1234'ü çalışan işleminiz için doğru PID ile değiştirin.
Linux Uygulamalarınızı Kontrol Edin
Yukarıda özetlenen adımlar sayesinde, Linux komut satırını kullanarak bir bağlantı noktası numarası kullanarak çalışan bir Linux işlemini hızlı bir şekilde sonlandırabilirsiniz. İstenmeyen yan etkilere neden olabileceğinden, özellikle SIGKILL sinyalleriyle işlemleri sonlandırırken dikkatli olmayı unutmayın; sonuçta sistem kararsızlığına neden olmak istemezsiniz.
Linux'taki sistem performansınıza daha yakından bakmak ister misiniz? Bir sonraki adımda Linux'ta bellek kullanımınızı kontrol edin yapmak isteyebilirsiniz. Potansiyel bir güvenlik riski konusunda endişeleniyorsanız Linux'ta şifrenizi değiştirin de isteyebilirsiniz.
Yeni bir Linux dağıtımına geçmeniz mi gerekiyor? Yeni başlayan biriyseniz, Linux Mint'i düşünün güvenli ve istikrarlı bir alternatif..
.