Belirli bir limanda çalışan işlemi nasıl bulurum (ve öldürürüm)? [çift]


30

Olası Çoğalt:
Linux'ta belirli bir bağlantı noktasını kullanan işlemi bulma

Ubuntu Linux 11.04 kullanıyorum. 4444 numaralı bağlantı noktasında çalışan işlemi bulan ve ardından işlemi sonlandıracak bir kabuk betiği ifadesini nasıl yazarım?


Bunun, limandaki işlemin nasıl öldürüleceğini, bulunmayacağını sorduğu için bir kopya olduğunu düşünmüyorum: fuser -k 9000 / tcp
Kris

Yanıtlar:


47

lsofSüreci bulmak için kullanabilirsiniz :

lsof -t -i:4444

4444 numaralı bağlantı noktasını dinleyen işlemin sadece bir kısmını listeleyebilirdi.

kill `lsof -t -i:4444`

eğer cesur olsaydın.


14
'Cesur olsaydın' için +1.
Bay Shickadance

7

Sen kullan lsof:

# lsof -n | grep TCP | grep LISTEN | grep 4444

Çıktı şöyle bir şey olacak:

pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)

İlk sütunun işlem adı, ikinci sütunun işlem kimliği olduğu yer. Daha sonra çıktıyı ayrıştırır, işlem kimliğinin (PID) ne olduğunu öğrenin ve killonu öldürmek için komutu kullanın.


1
Daha önce hiç böyle bir şey duymamıştım. Adam sayfasına bakıldığında, inanılmaz yararlı görünüyor. Teşekkürler!


2

Alternatif olarak , sisteminizde mevcut netstat -apdeğilse de kullanabilirsiniz lsof(düzenli olarak çalıştığım bir busybox sisteminde olmadığı için).


iyi bir çağrı, bunun neden üzerinde çalıştığım bir
meşgul kutu

2
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`

Netstat'ı kullanarak, sayısal bağlantı noktalarına ve üst işlemlere sahip dinleme INET soketlerini listelemek için kullanılır. Dize 4444 için filtreler, 7. sütunu (pid / işlem adı) çıkarır ve daha sonra "/" ile ayırır. Emri öldürmek için bunu geçiyor.


2
Öldürmeye karşı tavsiye ederim -9. Temizlemeye izin vermez ve bazı internet uygulamalarının temiz bir şekilde kapatılması gereken kaynaklara sahip olma olasılığı daha yüksektir.
Rich Homolka
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.