Vous pouvez attendre que les fichiers soient ouverts afin de pouvoir apprendre le fd et joindre strace après le lancement du processus comme ceci :
strace -p pid -e trace=fichier -e read=fd
Tout d'abord, vous n'avez probablement pas besoin de suivre car le mappage entre fd
et path
est disponible en /proc/PID/fd/
.
Deuxièmement, vous devriez peut-être utiliser l'astuce et la surcharge LD_PRELOAD en C open
, seek
et read
appel système. Il y a quelques articles ici et là sur la façon de surcharger malloc/free.
Je suppose que ce ne sera pas trop différent d'appliquer le même genre d'astuce pour ces appels système. Il doit être implémenté en C, mais il devrait prendre beaucoup moins de code et être plus précis que l'analyse strace
sortie.