Lexique/Quand quelque chose ne va pas
lsof
Aussi : list open files, lister les fichiers ouverts
En bref
lsof est une commande du Terminal qui liste les fichiers, les dossiers et les connexions réseau que chaque processus a ouverts. Sur Mac, elle dit quel processus utilise un fichier, ce qui empêche d’éjecter un disque et ce qui écoute sur un port.
lsof signifie list open files (lister les fichiers ouverts), et la commande est fournie avec macOS. Lancée sans rien après, elle affiche des milliers de lignes, une par fichier ouvert : on lui donne donc presque toujours un fichier, un dossier, un disque ou un port pour réduire la liste.
Sans sudo, elle n’affiche que vos propres processus. Avec, ceux de macOS sont inclus, comme ceux de Spotlight.
Les commandes lsof à connaître
Chacune prend un chemin, un port ou un processus pour réduire la liste.
lsof /path/to/file: ce qui a ouvert ce fichiersudo lsof /Volumes/NAME: tout ce qui est ouvert sur un disquelsof +D /path/to/folder: tout ce qui est ouvert dans un dossierlsof -nP -iTCP:3000 -sTCP:LISTEN: ce qui écoute sur le port 3000lsof -p <PID>: tous les fichiers ouverts par un processus
Comment lire le résultat
COMMAND est le nom du processus, coupé à neuf lettres, PID son numéro et USER qui l’exécute. FD indique comment le fichier est ouvert : un numéro suivi de r pour la lecture, w pour l’écriture ou u pour les deux, cwd pour le dossier où travaille le processus et txt pour le programme et les bibliothèques qu’il a chargés. NAME est le chemin, ou l’adresse réseau.
Pourquoi lsof est lent, ou affiche des avertissements
Chercher dans un gros dossier avec +D lit chaque fichier qu’il contient et peut prendre des minutes. Les avertissements sur les fichiers illisibles sont normaux sans sudo.
Questions fréquentes
Que signifie lsof ?
List open files, soit « lister les fichiers ouverts ».
lsof est-il installé sur un Mac ?
Oui. Il est fourni avec macOS, à l’emplacement /usr/sbin/lsof.
Pourquoi lsof n’affiche-t-il rien ?
Aucun de vos processus n’a ouvert le fichier. Lancez-le avec sudo pour inclure les processus de macOS et des autres utilisateurs.
Voir aussi
Pas à pas : Disque impossible à éjecter.
Vous cherchez mieux que le Moniteur d’activité ? Consultez les meilleures alternatives au Moniteur d’activité pour Mac, ou parcourez tous les termes du lexique.