lsof Überlebensleitfaden [geschlossen]


104

lsof ist ein unglaublich leistungsfähiges Befehlszeilenprogramm für Unix-Systeme. Es listet geöffnete Dateien auf und zeigt Informationen dazu an. Und da fast alles eine Datei auf Unix-Systemen ist, kann lsof Sysadmins eine Menge nützlicher Diagnosedaten geben.

Was sind einige der häufigsten und nützlichsten Methoden zur Verwendung von lsof und welche Befehlszeilenoptionen werden dafür verwendet?

Antworten:


119

So zeigen Sie alle Netzwerke an, die mit einem bestimmten Thema zusammenhängen port:

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

Verwenden Sie, um Verbindungen zu einem bestimmten Host anzuzeigen @host

lsof -i@192.168.1.5

Zeigen Sie Verbindungen basierend auf dem Host und dem Port mit @host:port lsof -i@192.168.1.5: 22 an

grepping for LISTENzeigt an, an welchen Ports Ihr System auf Verbindungen wartet:

lsof -i| grep LISTEN

Zeigen Sie, was ein bestimmter Benutzer geöffnet hat, indem Sie -u:

lsof -u daniel

Sehen Sie, mit welchen Dateien und Netzwerkverbindungen ein Befehl verwendet wird -c

lsof -c syslog-ng

Mit dem -pSchalter können Sie sehen, welche Prozess-ID geöffnet ist. Hier erfahren Sie mehr über unbekannte Prozesse:

lsof -p 10075

Die -tOption gibt nur a zurückPID

lsof -t -c Mail

Mit den Optionen -tund -ckönnen Sie zusammen HUPverarbeiten

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

Sie können das -twith auch verwenden -u, um alles zu töten, was ein Benutzer geöffnet hat

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


Ein guter Weg ist, den Cheat-Edelstein zu verwenden, wenn Sie Ruby verwenden. Es ist nur eine bequeme, Community-gesteuerte CLI, um Spickzettel vieler Dienstprogramme (sprachunabhängig) zu erstellen. Probieren Sie es aus .
Kedar Mhaswade

25
lsof -i :port 

Hier erfahren Sie, welche Programme an einem bestimmten Port empfangsbereit sind.


1
Es ist nicht auf "Abhören" beschränkt. Wenn Sie also angeben lsof -i :8080, dass eine Reihe von Prozessen mit einem Proxy auf Port 8080 verbunden sind, erhalten Sie diese ebenfalls.
Matt Byrne

14
lsof +D /some/directory

Zeigt rekursiv alle in einem Verzeichnis geöffneten Dateien an. + d nur für die oberste Ebene.

Dies ist nützlich, wenn Sie eine hohe Wartezeit von% auf E / A haben, mit der Verwendung auf einem bestimmten FS korreliert sind und sehen möchten, welche Prozesse Ihr E / A zerkauen.


13

lsof -ibietet eine Liste der offenen Netzwerk-Sockets. Die -nOption wird DNS - Lookups verhindern, was nützlich ist , wenn die Netzwerkverbindung langsam oder unzuverlässig ist.


5
lsof -iwird nur zeigen Ihnen , Steckdosen , die Sie in Ihrem Namensraum Zugang haben (und die als „Internet“ Steckdosen durch Selbstbeobachtung angesehen werden, nicht nur jede Art von Netzwerk - Buchse). Andernfalls werden Handles vom Typ 'sock' nicht in der Liste angezeigt.
Nick Bastin

13

Sehen Sie, welche Dateien eine laufende Anwendung oder ein laufender Dämon geöffnet hat:

lsof -p pid

Wobei pid die Prozess-ID der Anwendung oder des Dämons ist.


10
lsof +f -- /mountpoint

listet die Prozesse mithilfe von Dateien auf dem Mount auf, die unter / mountpoint bereitgestellt wurden. Besonders nützlich, um herauszufinden, welche Prozesse einen montierten USB-Stick oder eine CD / DVD verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.