Start·Terminal-Befehle

lsof

Prozesse und System

Aufruf

lsof -i :<port>

Listet jede offene Datei und jeden Socket und beantwortet damit die Frage, wer Port 3000 halt; ohne sudo sehen Sie nur eigene Prozesse — ein leeres Ergebnis heisst also nicht, dass der Port frei ist.

Häufige Optionen

OptionBedeutung
-i :3000Which process holds port 3000, in either direction.
-i TCP -sTCP:LISTENListening TCP sockets only.
-tPrint bare PIDs, made for piping into kill.
-p <pid>Everything one process has open.
-u <user>One user's open files.
+D <dir>Every open file underneath a directory, recursively.
-n -PSkip host and port name lookups, which makes it much faster.

Beispiele

lsof -i :3000

The classic answer to "something is already using port 3000".

kill -9 $(lsof -ti :3000)

Kill whatever holds that port.

sudo lsof +D /var/log

Find the process keeping a deleted log file open.

Was läuft und was die Maschine frisst. Erst herausfinden, was es ist, dann beenden.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht lsof?

Listet jede offene Datei und jeden Socket und beantwortet damit die Frage, wer Port 3000 halt; ohne sudo sehen Sie nur eigene Prozesse — ein leeres Ergebnis heisst also nicht, dass der Port frei ist.

Q. Wie gibt man ihn ein?

lsof -i :<port> — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 7; die vollständige Liste steht in man lsof. Der Befehl gehört zu Prozesse und System.

Verwandte Befehle

man-Seite: man lsof