Je veux qu'un script soit mis en veille à moins qu'un certain fichier ne soit modifié / supprimé (ou un fichier créé dans un certain répertoire, ou ...). Cela peut-il être réalisé d'une manière élégante? La chose la plus simple qui me vienne à l’esprit est une boucle qui dort un certain temps avant de vérifier à nouveau le statut, mais peut-être qu’il existe un moyen plus élégant?
32
Il existe une API appelée inotify pour les programmeurs C.
Certains outils l'utilisent, par exemple incron et inotify-tools .
la source
En effet, entr (1) exécute des commandes arbitraires lorsque les fichiers sont modifiés et fournit également une option de rechargement automatique pour le redémarrage des serveurs d'applications.
edit: quelques exemples
Reconstruire si les fichiers sources changent
Lancer et recharger automatiquement le serveur de test si les fichiers changent
Fournir un document
+/path/to/fifo
permet des scripts plus complexes en demandantentr
d'écrire le nom de chaque fichier qui devient un canal nommé. Ce qui suit convertira les fichiers Markdown du répertoire actuel en HTML au fur et à mesure de leur modification.la source
entr
transmettre le nom du fichier qui a également changé?/_
argument spécial (quelque peu analogue à$
_ dans Perl) est remplacé par le nom du premier fichier modifié