Parameter |
Bedeutung |
Datei(en) |
Zugriffe auf diese Datei(en) anzeigen.
Beispiel: Wer benutzt gerade vim?
$ lsof /usr/bin/vim
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vim 495 jfranken txt REG 3,3 1102088 175460 /usr/bin/vim
vim 1919 jfranken txt REG 3,3 1102088 175460 /usr/bin/vim
|
|
Device(s) oder Mountpoint(s) |
Zugriffe auf diese Device(s) oder Mountpoint(s) anzeigen.
Beispiel: Wer greift auf das CD-Laufwerk zu?
$ lsof /dev/cdrom
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 3050 jfranken cwd DIR 3,64 2048 53248 /cdrom
|
|
+D Verzeichnis |
Zugriffe auf die Dateien unterhalb des Verzeichnisses anzeigen.
Beispiel: Wer arbeitet mit Dateien im /tmp-Verzeichnis?
$ lsof +D /tmp/
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xfs 398 root 3u unix 0xc2019400 993 /tmp/.font-unix/fs7100
XFree86 433 root 1u unix 0xc1da0da0 1111 /tmp/.X11-unix/X0
ssh-agent 477 jfranken 3u unix 0xc1da1aa0 1155 /tmp/ssh-XXWzoqlO/agent.452
|
|
+p PIDs |
Alles anzeigen, was die Prozesse mit diesen PIDs geöffnet haben. Um mehrere PIDs anzugeben, diese mit Komma
trennen.
Beispiel: Welche Dateien benötigt meine Shell?
$ lsof +p 3050
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 3050 jfranken cwd DIR 3,64 2048 53248 /cdrom
bash 3050 jfranken rtd DIR 3,3 4096 2 /
bash 3050 jfranken txt REG 3,3 511400 191483 /bin/bash
bash 3050 jfranken mem REG 3,3 90210 159620 /lib/ld-2.2.5.so
bash 3050 jfranken mem REG 3,3 248132 160128 /lib/libncurses.so.5.2
bash 3050 jfranken mem REG 3,3 8008 160201 /lib/libdl-2.2.5.so
bash 3050 jfranken mem REG 3,3 1153784 160196 /lib/libc-2.2.5.so
bash 3050 jfranken mem REG 3,3 40152 160223 /lib/libnss_compat-2.2.5.so
bash 3050 jfranken mem REG 3,3 69472 160205 /lib/libnsl-2.2.5.so
bash 3050 jfranken 0u CHR 136,3 5 /dev/pts/3
bash 3050 jfranken 1u CHR 136,3 5 /dev/pts/3
bash 3050 jfranken 2u CHR 136,3 5 /dev/pts/3
bash 3050 jfranken 255u CHR 136,3 5 /dev/pts/3
|
|
-c Name |
Alles anzeigen, was die Prozesse geöffnet haben, deren Namen mit diesem Text beginnen.
Beispiel: Auf welche Dateien greift der init-Prozess zu?
$ lsof -c init
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 3,3 4096 2 /
init 1 root rtd DIR 3,3 4096 2 /
init 1 root txt REG 3,3 27844 175778 /sbin/init
init 1 root mem REG 3,3 90210 159620 /lib/ld-2.2.5.so
init 1 root mem REG 3,3 1153784 160196 /lib/libc-2.2.5.so
init 1 root 10u FIFO 3,3 98956 /dev/initctl
|
|
-u user[,user...] |
Alles anzeigen, was die Prozesse geöffnet haben, die einem der angegebenen Usernamen oder User-ID
gehören. Um mehrere User anzugeben, diese mit Komma trennen. Um die User auszuwählen, deren Name oder UID
nicht betroffen ist, dem User ein ^-Zeichen voranstellen.
Beispiel: Welche Dateien werden zurzeit von echten Usern benutzt?
$ lsof -u ^root
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 5712 jfranken cwd DIR 3,3 4096 146941 /home/jfranken
bash 5712 jfranken rtd DIR 3,3 4096 2 /
bash 5712 jfranken txt REG 3,3 511400 191483 /bin/bash
bash 5712 jfranken mem REG 3,3 90210 159620 /lib/ld-2.2.5.so
bash 5712 jfranken mem REG 3,3 248132 160128 /lib/libncurses.so.5.2
bash 5712 jfranken mem REG 3,3 8008 160201 /lib/libdl-2.2.5.so
bash 5712 jfranken mem REG 3,3 1153784 160196 /lib/libc-2.2.5.so
bash 5712 jfranken mem REG 3,3 40152 160223 /lib/libnss_compat-2.2.5.so
bash 5712 jfranken mem REG 3,3 69472 160205 /lib/libnsl-2.2.5.so
[...]
|
|
-i [TCP|UDP][@host][:ports] |
Die Netzverbindungen des übergebenen Hosts und Ports anzeigen. Dabei kann der Host wahlweise als Hostname oder
IP-Adresse und die Ports als Portnummern oder Servicenamen angegeben werden. Um mehrere Ports zu betrachten, kann man
Listen (z.B. ssh,www) oder Bereiche (z.B. 1-1024) angeben.
Beispiel: Welche Prozesse kommunizieren da auf Port 80 miteinander?
$ lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
thttpd 569 root 0u IPv4 2886 TCP *:www (LISTEN)
opera 3834 jfranken 20u IPv4 86644 TCP localhost:1055->localhost:www (CLOSE_WAIT)
|
|
+L 1 |
Gelöschte Dateien, die noch geöffnet sind.
Beispiel: Welche Dateien wurden gelöscht, obwohl sie noch offen sind?
$ lsof -a +L1 /
COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
cardmgr 280 root 1u CHR 254,0 0 112863 /var/lib/pcmcia/cm-280-0 (deleted)
cardmgr 280 root 2u CHR 254,1 0 112870 /var/lib/pcmcia/cm-280-1 (deleted)
|
|
Parameter |
Bedeutung |
-r Sekunden |
Die Ausgabe regelmäßig wiederholen. Wenn man +r übergibt, beendet sich lsof,
sobald die Liste leer ist. |
-n |
IP-Adressen an Stelle von Hostnamen ausgeben. |
-l |
UIDs an Stelle von Usernamen ausgeben. |
-p |
Portnummern an Stelle von Servicenamen ausgeben. |
-t |
Eine PID-Liste an Stelle der Tabelle ausgeben. Das Ergebnis eignet sich natürlich zur Weiterverarbeitung in
Command Substitutions (Backticks etc.)
Beispiel: Welche Prozesse greifen auf mein Homeverzeichnis zu?
$ lsof -t /home/jfranken/
5711
5754
5780
5781
|
|
-F |
gibt die Tabelle (alle Spalten) in einem Format aus, das besonders gut zum Weiterverarbeiten in anderen Programmen
geeignet ist. |