Forum Programmation.c Savoir si un fichier est en cours de modification

Posté par  .
Étiquettes : aucune
0
26
nov.
2006
Bonjour,
Je développe un petit démon qui vise a vérifier si un fichier a était déposé dans un répertoire bien précis. J'aimerai vérifier si ce fichier n'est pas en cours de modifications ( soit de copie ) lorsque je vais le traiter.

La méthode qui me vient a l'esprit est de vérifié si pendant 5 seconde la taille du fichier ne change pas. N' y a t il pas une manière plus élégante de faire cela ?

Merci d'avance !
  • # poll

    Posté par  (site web personnel, Mastodon) . Évalué à 7.

    man 2 poll

    M.
    • [^] # Re: poll

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      se faire moinsser quand on donne LA solution au problème posé, c'est assez étrange...

      M.
      • [^] # Re: poll

        Posté par  . Évalué à -1.

        t'as 5, pourquoi tu pleures ?
    • [^] # Re: poll

      Posté par  (site web personnel) . Évalué à 2.

      Désolé, mais je pige pas. Tu propose "poll" pour quel besoin :
      - la surveillance de la création du fichier ?
      - la surveillance de la modification du fichier ?
      • [^] # Re: poll

        Posté par  . Évalué à 1.

        Après m'être plongé dans l'obscur manpage, je n'arrive toujours pas à cerner comment il peut mettre utile, ou comment l'utiliser pour qu'il le soit.

        Est ce que je peux vous demandez un ptit peu d'aide :) Merci
        • [^] # Re: poll

          Posté par  (site web personnel) . Évalué à 2.

          Hélas, je pense que poll ne peut pas d'être d'un grand secour. Comme le trahis mon post précédent, mes souvenirs concernant cette fonction sont qu'elle n'est pas d'un grand secour avec les fichiers standards.
          De mémoire, je sais que select est très utile dès lors qu'on veut surveiller des SOCKET.

          Concernant ton besoin, je pense qu'il te faut te tourner vers des solutions plus récentes mais peut-être moins portables. Je ne connais pas inotify, mais c'est peut-être une solution. Il y a aussi fam (file alteration monitor) à étudier (utilisé par Gnome je crois, pour raffraichir en "temps réel" les explorateurs de fichiers).

          En tout cas, quand tu aura trouvé ton bonheur, reviens nous indiquer ton résultat, ça m'intéresse.
  • # inotify

    Posté par  (site web personnel) . Évalué à 2.

    Peut être avec inotify et inotify-tools (?)

    (http://en.wikipedia.org/wiki/Inotify)
  • # Merci

    Posté par  . Évalué à 3.

    Merci pour votre réactivité :) je vais regarder tout ça.
    • [^] # Re: Merci

      Posté par  . Évalué à 2.

      mv étant atomique, l'idéal, si tu as la main sur le bout de soft qui pond les fichiers, c'est de générer un fichier temporaire et de le déplacer une fois qu'il est complet.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.