Můžete počkat na otevření souborů, abyste se mohli naučit fd a připojit strace po spuštění procesu takto:
strace -p pid -e trace=soubor -e read=fd
Za prvé, pravděpodobně nebudete muset sledovat, protože mapování mezi fd
a path
je k dispozici v /proc/PID/fd/
.
Za druhé, možná byste měli použít trik LD_PRELOAD a přetížení v C open
, seek
a read
systémové volání. Sem tam je nějaký článek o tom, jak přetížit malloc/free.
Myslím, že to nebude příliš odlišné použít stejný druh triku pro tato systémová volání. Musí být implementován v C, ale měl by vyžadovat mnohem méně kódu a být přesnější než analýza strace
výstup.