SnipX Posté(e) le 21 mai 2008 Partager Posté(e) le 21 mai 2008 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 ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mephisto Posté(e) le 22 mai 2008 Partager Posté(e) le 22 mai 2008 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
SnipX Posté(e) le 22 mai 2008 Auteur Partager Posté(e) le 22 mai 2008 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 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 :( Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mephisto Posté(e) le 23 mai 2008 Partager Posté(e) le 23 mai 2008 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.