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.