Quero que um script durma, a menos que um determinado arquivo seja modificado / excluído (ou um arquivo criado em um determinado diretório ou ...). Isso pode ser conseguido de alguma maneira elegante? A coisa mais simples que me vem à cabeça é um loop que dorme por um tempo antes de verificar o status novamente, mas talvez haja uma maneira mais elegante?
32
Existe uma API chamada inotify para programadores C.
Existem algumas ferramentas que o utilizam, por exemplo, incron e inotify-tools .
fonte
De fato, existe: entr (1) executará comandos arbitrários quando os arquivos forem alterados e também fornece uma opção de recarregamento automático para reiniciar servidores de aplicativos.
edit: alguns exemplos
Reconstruir se os arquivos de origem mudarem
Inicie e recarregue automaticamente o servidor de teste se os arquivos forem alterados
O fornecimento de um documento
+/path/to/fifo
permite scripts mais complexos, instruindoentr
a escrever o nome de cada arquivo que muda para um canal nomeado. A seguir, os arquivos do Markdown no diretório atual serão convertidos para HTML, à medida que forem editadosfonte
entr
passar o nome do arquivo que também foi alterado?/_
argumento especial (parecido com$
_ no Perl) é substituído pelo nome do primeiro arquivo que foi alterado