surveillance des modifications de fichiers c ++ linux
Je suis sous linux et j'ai un répertoire qui contient des sous-répertoires et des fichiers
à l'intérieur des sous-répertoires. J'ai pour surveiller les changements dans le fichier. En C++, je suis d'utilisation de boost. Je passe par tous les répertoires toutes les 30 Secondes et vérifier la last_write_time. Principalement, il fonctionne. Mais à chaque fois que cette action est exécutée, mon CPU va de noix et je vois de 15% à 25% d'utilisation du PROCESSEUR
juste pour ce programme dans le top. J'ai lu sur inotify. Si j'utilise inotify aurais-je le plus ou moins même utilisation de l'UC ou serait-il être amélioré? Existe-il des bonnes alternatives à ce que je suis en train de faire?
source d'informationauteur user1566277
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez inotify, vous n'avez pas besoin de sondage pour tous les fichiers à vérifier si il y a des changements. Vous obtenez un système de rappel qui vous avertit lorsqu'un a regardé le fichier ou le répertoire a été changé.
Le noyau et le système de fichiers a déjà cette information, de sorte que la ressource/utilisation de l'UC n'est pas seulement déplacé vers une autre application, il est effectivement réduite.
Moniteur de système de fichiers de l'activité avec inotify fournit plus de détails pourquoi utiliser inotify, montre son utilisation de base et vous aide à configurer.
http://linux.die.net/man/7/inotify cela devrait vous aider à vous débarrasser du problème que vous face à!