Accueil·Commandes du terminal

lsof

Processus et système

Syntaxe

lsof -i :<port>

Liste tous les fichiers et sockets ouverts, ce qui repond a la question "qui occupe le port 3000" ; sans sudo vous ne voyez que vos propres processus, donc un resultat vide ne prouve pas que le port est libre.

Options courantes

OptionSignification
-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.

Exemples

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.

Ce qui tourne et ce qui mange la machine. Identifier vient avant tuer.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait lsof ?

Liste tous les fichiers et sockets ouverts, ce qui repond a la question "qui occupe le port 3000" ; sans sudo vous ne voyez que vos propres processus, donc un resultat vide ne prouve pas que le port est libre.

Q. Comment l’écrire ?

lsof -i :<port> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 7 ici ; la liste complète est dans man lsof. Cette commande relève de Processus et système.

Commandes liées

page man: man lsof