C'est quoi, lsof ?
lsof (list open files) liste tous les fichiers ouverts par tous les processus. Sous Linux, tout est fichier — y compris les sockets réseau. C'est l'outil de diagnostic ultime.
💡 L'analogie : lsof, c'est comme un détective qui liste tout ce que chaque programme a entre les mains en ce moment — fichiers, connexions réseau, pipes.
# Quel processus utilise le port 80 ?
$ sudo lsof -i :80
COMMAND PID USER TYPE NODE NAME
nginx 1234 root IPv4 TCP *:http (LISTEN)
# Tous les fichiers ouverts par un processus
$ lsof -p 1234
# Qui utilise ce fichier ?
$ lsof /var/log/nginx/access.log
# Toutes les connexions réseau
$ sudo lsof -i
# Fichiers ouverts par un utilisateur
$ lsof -u ubuntu
💡 Cas classique
"Impossible de démarrer nginx, le port 80 est déjà utilisé !" →
sudo lsof -i :80 → tu vois immédiatement quel processus occupe le port.