Możliwa duplikat:
Znalezienie procesu korzystającego z określonego portu w systemie Linux
Używam Ubuntu Linux 11.04. Jak napisać wyrażenie skryptu powłoki, które znajdzie proces działający na porcie 4444, a następnie zabije proces?
Możliwa duplikat:
Znalezienie procesu korzystającego z określonego portu w systemie Linux
Używam Ubuntu Linux 11.04. Jak napisać wyrażenie skryptu powłoki, które znajdzie proces działający na porcie 4444, a następnie zabije proces?
Odpowiedzi:
Możesz użyć,
lsof
aby znaleźć proces:wyświetli tylko pid procesu nasłuchującego na porcie 4444. Można po prostu powiedzieć
gdybyś był odważny.
źródło
Używasz
lsof
:Wynik będzie taki jak:
Gdzie pierwsza kolumna to nazwa procesu, a druga kolumna to identyfikator procesu. Następnie analizujesz dane wyjściowe, dowiadujesz się, jaki jest identyfikator procesu (PID) i używasz
kill
polecenia, aby je zabić.źródło
Alternatywnie możesz użyć,
netstat -ap
jeślilsof
nie jest dostępny w twoim systemie (ponieważ nie ma go w systemie busybox, z którym regularnie pracuję).źródło
Używa netstat do listy nasłuchujących gniazd INET z portami numerycznymi i procesami nadrzędnymi. Filtruje ciąg 4444, usuwa siódmą kolumnę (pid / nazwa procesu) i dalej dzieli ją na „/”, aby uzyskać pid. Przechodzi polecenie zabicia.
źródło