No Linux, a versão GNU do kernel coil de tail
usa inotify para bloquear a espera de alterações no arquivo. Com o FreeBSD, tail
usa o kevent para fazer o mesmo. Isso será melhor do que verificar repetidamente se há alterações e dormir. Dependendo da frequência com que você precisa fazer isso e da frequência com que as mudanças ocorrem, pode ou não valer a pena gerar um processo externo a partir de node.js, apenas para chamar tail
.
Se você não estiver usando Linux ou FreeBSD (ou possivelmente MacOS?), o utilitário tail
provavelmente não é melhor do que o que você pode fazer diretamente em JavaScript, verificando e dormindo repetidamente.
Alternativamente, se você estiver usando Linux ou FreeBSD, você pode usar inotify
ou kevent
diretamente de node.js com algum tipo de extensão / plugin / módulo sem gerar um processo. Eu não sei se isso existe.