Comment suivre tous les fichiers ouverts par un processus au cours de sa durée de vie

Réponses:

25

En utilisant la commande strace, cela pourrait être possible avec quelque chose comme:

strace -e trace=open program [arguments]
slubman
la source
Cela montrera tous les fichiers auxquels un processus a tenté d'accéder. On pourrait penser que quelque chose comme cela 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.
facetus
2
Notez que le signal dont vous avez besoin pourrait l'être openat.
merlinND
6

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.

Antoine Benkemoun
la source
1
Débogage des fichiers de configuration lus par une application
Peter Smit