Czego używać jako alternatywy „fuser -v -n tcp” w systemie Mac OS X
10
Komenda fuser w systemie Mac OS X jest dość prymitywna i nie może sprawdzić procesów nasłuchujących na określonym porcie. Czy ktoś zna dobrą alternatywę? Wystarczy wiedzieć, który proces nasłuchuje na tym jednym porcie.
Miałem wrażenie, że lsof` działa tylko wtedy, gdy zadanie faktycznie łączy się z portem. Poza tym trzeba by co najmniej jednego, | grep portnoaby uzyskać znaczący wynik.
Martin
Odpowiedzi:
14
Jak powiedział @vcsjones w komentarzach, lsofjest to narzędzie:
Bez -itego pokazuje wszystkie otwarte pliki; po prostu -ipokazuje tylko pliki sieciowe; jeśli określisz coś po -i, możesz ograniczyć dowolne z poniższych elementów: IPv4 / 6, TCP / UDP, nazwę hosta lub IP oraz numer portu / nazwę usługi.
Na wszelki wypadek przydatne dla kogoś takiego jak ja, który chce ślepo zabić wszystkie procesy za pomocą danego portu: lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs killzabija wszystkie procesy nasłuchujące na porcie 5000
sudo lsof -i -P
| grep portno
aby uzyskać znaczący wynik.Odpowiedzi:
Jak powiedział @vcsjones w komentarzach,
lsof
jest to narzędzie:Bez
-i
tego pokazuje wszystkie otwarte pliki; po prostu-i
pokazuje tylko pliki sieciowe; jeśli określisz coś po-i
, możesz ograniczyć dowolne z poniższych elementów: IPv4 / 6, TCP / UDP, nazwę hosta lub IP oraz numer portu / nazwę usługi.źródło
lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs kill
zabija wszystkie procesy nasłuchujące na porcie 5000