Aller au contenu

Trouver un path avec un inode

Featured Replies

Posté(e)

Bonjour,

je fais un programme en C actuellement, et j'aimerais savoir si vous connaissez une manière de récupérer un path à partir d'un inode ?

Je m'explique :

Je surveille un fichier, et je voudrais dire si celui-ci a changé de répertoire ou de nom.

Je le "monitore" avec kqueue/kevent sous BSD, mais une fois que je reçois mon évènement comme quoi le fichier a bougé, comment faire pour récupérer le path du fichier ?

( je ne sais pas si j'ai été très clair, n'hésitez pas à me le dire :D )

Posté(e)

un find /* -inum numero_d_inode va te renvoyer le chemin complet vers ton fichier (je met /*, l'ideal etant bien sur de limiter au maximum le champ de recherche comme /var/log/* si tu es sur que le fichier traine dans tes log)

Posté(e)
  • Auteur

Merci de ta réponse, mais en fait je précise bien que je fais un programme en C, je ne le fais pas en bash :reflechis:

Je voulais savoir s'il existait une fonction qui permettait de faire cela, mais visiblement après toutes les docs que j'ai lu je ne crois pas :(

Posté(e)

sur le moment, j'avoue que je pensais plus a un fork() dup2() system(), ... (chuis un peu gore des fois) ; mais tu aurais pu en deduire qu'en gros, c'est un ls -R: tu fais un readdir, tu lstat tes fichiers en regardant leur numero d'inode (st_ino dans la struct stat si je me souviens bien)

bonne continuation :craint:

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.