Lsof: offene Files, Sockets und mehr

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Ein beliebtes Debugging-Tool für Linux- und Unix-System ist lsof. Wir geben einige Tipps zum Einsatz.

Lsof ist eins der klassischen Tools für Unix-Betriebssysteme, das es schon gab, als Linux noch in den Kinderschuhen steckte. Version 2 lief noch auf einem Dutzend Unix-Systemen, die es heute nicht mehr gibt. Version 3 war erstmals auch für Linux verfügbar.

Der Name ist Programm: LiSt Open Files, wobei das nur die halbe Wahrheit ist, denn neben Files listet Lsof auch Named Pipes und Sockets (bekanntlich ist Unix ja "everything a file", auf Sockets trifft das aber nicht wirklich zu – erst Plan9 hat damit Ernst gemacht). Im Folgenden listen wir die wichtigsten Anwendungsfälle des vielfältigen Tools stichpunktartig auf:

Welcher Prozess hat ein File geöffnet?
lsof /var/log/syslog
Welche offenen Files gibt es in einem Verzeichnis (und seinen Unterverzeichnissen)?
lsof +D /var/log
Welcher Prozess benutzt den Port ?
lsof -i:137
nur TCP: lsof -i tcp:137
nur UDP: lsof -i udp:137
Liste alle offenen Files eines Programms (nach Namen oder PID):
lsof -c apache
lsof -p 1234
Alle offenen Files eines Users:
lsof -u oliver
Filter kombinieren oder negieren:

Per Default verknüpft Lsof mehrere Suchkriterien mit "oder". Um stattdessen mit "und" zu verknüpfen, verwenden Sie den Schalter "-a". Um die oben beschriebenen Filter wie UID, PID, Prozess- oder Usernamen zu negieren, setzen Sie davor ein Caret-Zeichen: "lsof -p ^1" listet alle offenen Dateien, außer die der Prozess-ID 1. "lsof -u ^root" zeigt offene Prozesse, außerdenjenigen des Root-Users.

Alle Optionen listet die Lsof-Manpage, die es auch online gibt.

29.02.2016

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023