Découvrez les applications ou les processus qui interagissent avec un fichier sous Mac OS X

La commande lsof nous permet de savoir exactement quel processus ou quelle application utilise un fichier donné à ce moment précis. Cette commande est similaire à la commande opensnoop, mais plutôt que d’observer les changements apportés à un fichier au fil du temps, lsof peut nous donner un instantané de ce moment précis, ce qui peut être utile à des fins de dépannage.

lsof /chemin/vers/nom de fichier

Par exemple, pour voir ce qui interagit avec le fichier /var/log/system.log, nous le faisons pointer vers ce fichier :

$ lsof /var/log/system.log

COMMAND PID USER FD TYPE DE DISPOSITIF TAILLE / NOM DE NODE DE L’UTILISATEUR DE COMMANDE

Console 84281 Will 8r REG 14,2 140239 71929128 /private/var/log/system.log

Dans ce cas, l’application utilisant system.log est « Console ». Là encore, cela nous montre un instantané au moment où la commande lsof a été exécutée, mais en utilisant la commande opensnoop mentionnée précédemment, vous pouvez suivre en temps réel les processus qui utilisent ce fichier :

sudo opensnoop -f /var/log/system.log

Ce qui précède aboutirait à quelque chose comme ceci:

$ sudo opensnoop -f /var/log/system.log

Mot de passe:

UID PID COMM FD PATH

501 84358 cat 3 /var/log/system.log

501 45411 console 3 /var/log/system.log

0 15 syslogd 16 /var/log/system.log

Dans ce cas, vous cherchez sous « COMM » les noms des processus, ou PID pour l’identifiant du processus.

N’oubliez pas que vous pouvez aussi aller dans le sens inverse avec opensnoop, et montrer tous les fichiers qu’une application utilise en pointant la commande sur une application ou un processus, plutôt que sur un fichier.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *