una de sus opciones es el subsistema inotify del kernel de Linux:
inotify es un subsistema del kernel de Linux que actúa para extender los sistemas de archivos para notar cambios en el sistema de archivos e informar esos cambios a las aplicaciones
pero desde inotify
es kernel-land, necesita algo en el espacio de usuario para usarlo:
- inchron:
El demonio cron de inotify (incrond) es un demonio que supervisa los eventos del sistema de archivos y ejecuta comandos definidos en las tablas del sistema y del usuario. Su uso es generalmente similar al de cron(8).
- juego:
Gamin es un sistema de monitoreo de archivos y directorios que implementa de forma independiente un subconjunto de FAM, el Monitor de alteración de archivos. Al ejecutarse como un servicio, permite la detección de modificaciones en un archivo o directorio. gam_server funciona como un demonio para Gamin.
- 'notificación':
inoticing:activa acciones cuando los archivos llegan a un directorio entrante
hubo una respuesta a una pregunta similar en askubuntu:
https://askubuntu.com/a/43848/1223
Otra forma rápida y sucia de hacer esto es usar inotifywait
del paquete inotify-tools (en fedora).
Me gusta más este método porque puedes hacerlo todo desde una sola línea de comando de bash. A menudo uso esto cuando estoy escribiendo pequeños programas para ver los resultados de lo que acabo de guardar.
while [[ 1 ]]; do inotifywait -e modify <filename>; make && ./helloworld; done