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
| Option | Bedeutung |
|---|---|
| -i :3000 | Which process holds port 3000, in either direction. |
| -i TCP -sTCP:LISTEN | Listening TCP sockets only. |
| -t | Print 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 -P | Skip host and port name lookups, which makes it much faster. |
Beispiele
lsof -i :3000The classic answer to "something is already using port 3000".
kill -9 $(lsof -ti :3000)Kill whatever holds that port.
sudo lsof +D /var/logFind 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