Lsof
Zur Navigation springen
Zur Suche springen
Funktion
lsof zeigt geöffnete Dateien, Verzeichnisse, Unixsockets, IP-Sockets und Pipes an. Mit den passenden Optionen aufgerufen, zeigt es z.B.
- alle Dateien und Netzverbindungen, die ein bestimmter Prozess geöffnet hat,
- alle Prozesse, die eine bestimmte Datei oder Netzverbindung geöffnet haben oder
- die Namen aller Prozesse, die auf eine Netzverbindung warten.
Optionen
Option | Zweck |
---|---|
+D Verzeichnis | Zugriffe auf die Dateien unterhalb des Verzeichnisses anzeigen |
+p PIDs | Alles anzeigen, was die Prozesse mit diesen PIDs geöffnet haben. Um mehrere PIDs anzugeben, diese mit Komma trennen. |
-c Name | Alles anzeigen, was die Prozesse geöffnet haben, deren Namen mit diesem Text beginnen. |
-u user[,user...] | Alles anzeigen, was die Prozesse geöffnet haben, die einem der angegebenen Usernamen oder User-ID gehören. User wird mit ^ negiert. |
-i :ports | Die Netzverbindungen des Ports anzeigen. |
+L 1 | Gelöschte Dateien, die noch geöffnet sind. |
Ausgabe Option | Zweck |
-r Sekunden | Die Ausgabe regelmäßig wiederholen. Wenn man +r übergibt, beendet sich lsof, sobald die Liste leer ist. |
-n | Die Ausgabe regelmäßig wiederholen. Wenn man +r übergibt, beendet sich lsof, sobald die Liste leer ist. |
-l | |
-p | Portnummern an Stelle von Servicenamen ausgeben. |
-t | Eine PID-Liste an Stelle der Tabelle ausgeben. |
-F | gibt die Tabelle (alle Spalten) in einem Format aus, das besonders gut zum Weiterverarbeiten in anderen Programmen geeignet ist. |
Beispiele
Wenn root lsof ohne Parameter aufruft, zeigt es alles, was von sämtlichen Prozessen geöffnet ist.
root@zero:~# lsof | more COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd DIR 104,2 4096 2 / init 1 root rtd DIR 104,2 4096 2 /
Auf diesem System sind dies momentan 2711 geöffnete Objekte
root@zero:~# lsof | wc -l 2711
Wer Benutzt den Midnight Commander?
root@zero:~# lsof /usr/bin/mc 2> /dev/null COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mc 9344 thomas txt REG 8,1 561416 896015 /usr/bin/mc
Wer greift auf das CD-Laufwerk zu?
root@zero:~# lsof /dev/cdrom COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 9434 thomas cwd DIR 11,0 2048 18112 /media/cdrom0
Wer greift auf /usr inklusive Unterverzeichnisse zu?
root@zero:~# lsof +D /usr ...
Welche Dateien benötigen meine Bash?
root@cardassia:~# lsof +p 9450 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 9450 root cwd DIR 8,1 4096 65409 /root bash 9450 root rtd DIR 8,1 4096 2 / bash 9450 root txt REG 8,1 725136 1708789 /bin/bash ...
Auf welche Dateien greift der Xorg-Prozess zu?
root@zero:~# lsof -c X COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME Xorg 3132 root cwd DIR 8,1 4096 64902 /etc/X11 Xorg 3132 root rtd DIR 8,1 4096 2 / ...
Welche Dateien werden zurzeit von nicht Root Usern benutzt?
root@zero:~# lsof -u ^root | more COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME ntpd 1738 ntp cwd DIR 8,1 4096 2 / ntpd 1738 ntp rtd DIR 8,1 4096 2 / ...
Welche Prozesse kommunizieren auf Port 22 miteinander?
root@zero:~# lsof -i :22 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 3657 root 3u IPv4 14810 TCP *:ssh (LISTEN) sshd 3657 root 4u IPv6 14812 TCP *:ssh (LISTEN) sshd 23745 root 3u IPv4 1009411 TCP zero.delta.int:ssh->mordor.alpha.quadrant:46214 (ESTABLISHED) sshd 25498 root 3u IPv4 1041201 TCP zero.delta.int:ssh->mordor.alpha.quadrant:38190 (ESTABLISHED) sshd 25641 root 3u IPv4 1042316 TCP zero.delta.int:ssh->mordor.alpha.quadrant:38196 (ESTABLISHED) sshd 32595 root 3u IPv4 1153784 TCP zero.delta.int:ssh->cardassia.alpha.quadrant:60422 (ESTABLISHED)
Welche Dateien wurden gelöscht, obwohl sie noch offen sind?
root@zero:~# lsof -a +L1 / ...
Welche Programme greifen auf Dateien zu die gelöscht wurden?
root@zero:~# lsof | awk '$5 == "DEL" { print }'