J'aimerais pouvoir suivre un fichier et voir quel processus touche ce fichier. Est-ce possible? Je sais que je peux voir la liste des processus ouverts dans le moniteur d'activité, mais je pense que cela se produit trop rapidement pour que je puisse la voir. La raison en est que j'utilise un framework et je pense que la version système du framework est utilisée à la place de la version de débogage et j'aimerais voir quel processus le concerne.
lsof
listera les fichiers ouverts, mais cela peut être un peu gênant pour des manipulations momentanées (par exemple, si le fichier n'est pas ouvert lorsque lsof est exécuté, il ne s'affiche pas).
Je pense que votre meilleur pari serait fernLightning's fseventer.app . C'est un "nagware", et vous permet de regarder (graphiquement) l'API de fsevents en temps réel.
C'est simple: Sudo fs_usage | grep [path_to_file]
Mais j'ai passé 2 minutes à chercher sur Google et à trouver votre réponse ici .
$ lsof | grep [peu importe]
Où [que ce soit] est remplacé par le nom de fichier que vous recherchez. Avec cela, vous pouvez voir quel programme tient désespérément sur votre fichier sur le point d'être détruit. Une fois que vous quittez ce programme, votre corbeille sera vide.
Une autre option est Paresse . C’est une interface graphique gratuite et à source ouverte pour LSOF que d’autres ont mentionnée.
Le moyen le plus rapide est:
$ lsof [path_to_file]
Cette solution ne nécessite pas le mot de passe root et vous redonne le résultat clair suivant:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Finder 497 JR7 21r REG 1,2 246223 33241712 image.jpg
QuickLook 1007 JR7 txt REG 1,2 246223 33241712 image.jpg