jednou z vašich možností je subsystém inotify linuxového jádra:
inotify je linuxový kernelový subsystém, který rozšiřuje souborové systémy tak, aby zaznamenaly změny v souborovém systému a hlásily tyto změny aplikacím
ale od inotify
je kernel-land, potřebujete něco v uživatelském prostoru, abyste jej mohli skutečně používat:
- Inchron:
Démon inotify cron (incrond) je démon, který monitoruje události souborového systému a provádí příkazy definované v systémových a uživatelských tabulkách. Jeho použití je obecně podobné cron(8).
- hra:
Gamin je monitorovací systém pro soubory a adresáře, který nezávisle implementuje podmnožinu FAM, File Alteration Monitor. Funguje jako služba a umožňuje zjišťovat změny v souboru nebo adresáři. gam_server funguje jako démon pro Gamin.
- 'inoticcoming':
inoticoming – spustí akce, když soubory narazí na příchozí adresář
na askubuntu byla odpověď na podobnou otázku:
https://askubuntu.com/a/43848/1223
Další rychlý a špinavý způsob, jak toho dosáhnout, je použít inotifywait
z balíčku inotify-tools (na fedoře).
Líbí se mi tato metoda lépe, protože to vše můžete udělat z jediného příkazového řádku bash. Často to používám, když píšu malé programy, abych viděl výsledky toho, co jsem právě uložil.
while [[ 1 ]]; do inotifywait -e modify <filename>; make && ./helloworld; done