¿Hay una solución simple (utilizando utilidades de shell comunes, a través de una utilidad proporcionada por la mayoría de las distribuciones, o algún script simple de python/...) para reiniciar un proceso cuando cambian algunos archivos?Proceso de reinicio en el cambio de archivos en Linux
Sería bueno simplemente llamar algo así como watch -cmd "./the_process -arg" deps/*
.
Actualización: Un simple script de shell junto con los inotify-herramientas propuestas adaptarse a mis necesidades (que funciona para comandos w/o argumentos) (agradable!):
#!/bin/sh
while true; do
[email protected] &
PID=$!
inotifywait $1
kill $PID
done
¿Alguien puede explicar qué significa "$!" por favor (no pude encontrarlo con Google), gracias. – Lior
Devuelve la identificación del proceso iniciado anteriormente – Christian
Si un sistema de archivos no tiene el atributo 'noatime', entonces la secuencia de comandos/proceso de destino se reiniciará en un bucle infinito debido al evento' access'. Para solucionarlo, utilice 'inotifywait -e modify $ 1' en su lugar, que solo reaccionará a los eventos de modificación de archivos. – chronos