przewodnik przetrwania lsof [zamknięty]


104

lsof to niezwykle potężne narzędzie wiersza poleceń dla systemów uniksowych. Zawiera listę otwartych plików, wyświetlając informacje o nich. A ponieważ w systemach uniksowych prawie wszystko jest plikiem, lsof może dać administratorom mnóstwo przydatnych danych diagnostycznych.

Jakie są najpopularniejsze i najbardziej przydatne sposoby korzystania z lsof i które przełączniki wiersza polecenia są do tego używane?

Odpowiedzi:


119

Aby wyświetlić wszystkie sieci związane z danym port:

lsof -iTCP -i :port
lsof -i :22

Aby wyświetlić połączenia z określonym hostem, użyj @host

lsof -i@192.168.1.5

Pokaż połączenia na podstawie hosta i portu, używając @host:port lsof -i@192.168.1.5: 22

grepping dla LISTEN pokazuje, na jakich portach system oczekuje na połączenia:

lsof -i| grep LISTEN

Pokaż, co dany użytkownik otworzył za pomocą -u :

lsof -u daniel

Zobacz, jakich plików i połączeń sieciowych używa polecenie -c

lsof -c syslog-ng

Plik -pPrzełącznik pozwala zobaczyć co dana ID proces ma otwarte, co jest dobre dla czegoś więcej o nieznanych procesów:

lsof -p 10075

Ta -topcja zwraca tylko plikPID

lsof -t -c Mail

Używając razem opcji -ti -c, możesz HUPprzetwarzać

kill -HUP $(lsof -t -c sshd)

Możesz także użyć -twith, -uaby zabić wszystko, co otworzył użytkownik

kill -9 $(lsof -t -u daniel)


Dobrym sposobem jest użycie klejnotu do oszukiwania, jeśli używasz Rubiego. Jest to po prostu wygodny, oparty na społeczności CLI do ściągania arkuszy wielu narzędzi (niezależnych od języka). Daj mu szansę .
Kedar Mhaswade

25
lsof -i :port 

powie ci, jakie programy nasłuchują na określonym porcie.


1
Nie ogranicza się do „nasłuchiwania”, więc jeśli określisz lsof -i :8080i masz kilka procesów łączących się z proxy na porcie 8080, to też je otrzymasz.
Matt Byrne

14
lsof +D /some/directory

Wyświetli rekurencyjnie wszystkie pliki otwarte w katalogu. + d tylko na najwyższym poziomie.

Jest to przydatne, gdy masz wysoki procent oczekiwania na IO, skorelowany do użycia na określonym FS i chcesz zobaczyć, które procesy przeżuwają twoje io.


13

lsof -iwyświetli listę otwartych gniazd sieciowych. Ta -nopcja zapobiegnie wyszukiwaniu DNS, co jest przydatne, gdy połączenie sieciowe jest wolne lub zawodne.


5
lsof -ipokaże tylko gniazda, do których masz dostęp w swojej przestrzeni nazw (i które są traktowane jako gniazda „internetowe” przez introspekcję, a nie byle jakie gniazda sieciowe). W przeciwnym razie uchwyty typu „skarpetka” nie pojawią się na liście.
Nick Bastin

13

Zobacz, jakie pliki otworzyła uruchomiona aplikacja lub demon:

lsof -p pid

Gdzie pid to identyfikator procesu aplikacji lub demona.


10
lsof +f -- /mountpoint

wymienia procesy korzystające z plików w miejscu montażu zamontowanym w / punkt montowania. Jest to szczególnie przydatne do wyszukiwania procesów, w których używane są zamontowane pendrive'y lub płyty CD / DVD.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.