Je suis conscient de l'utilisation de lsof pour vérifier les fichiers auxquels accède actuellement un processus. Existe-t-il un moyen de voir tous les fichiers qu'une application ouvre au cours de sa durée de vie?
Je suis conscient de l'utilisation de lsof pour vérifier les fichiers auxquels accède actuellement un processus. Existe-t-il un moyen de voir tous les fichiers qu'une application ouvre au cours de sa durée de vie?
Réponses:
En utilisant la commande strace, cela pourrait être possible avec quelque chose comme:
strace -e trace=open program [arguments]
strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT'
pourrait améliorer la situation, mais ce n'est pas vrai non plus. Ce dernier ne parviendra pas à détecter les appels inachevés puis repris vers open
.
openat
.
Je ne suis pas sûr d'avoir compris exactement ce que vous voulez faire avec ça. Mais, avez-vous pensé à Strace? Il affiche tous les appels système, y compris les fichiers.
EDIT: N'oubliez pas l'option -f qui vous permet de suivre des processus fourchus.