O watch do grunt utiliza o Inotify so sistema para monitorar mudanças nos arquivos e ocorre que em alguns sistemas o número máximo de identificadores permitidos é baixo e acaba retornando erros ou fazendo com que o watch fique em looping:
Running "watch" task
Waiting...
Warning: watch /path/foo/bar ENOSPC
Running "watch" task
Waiting...
Warning: watch /path/foo/bar ENOSPC
Running "watch" task
Waiting...
Warning: watch /path/foo/bar ENOSPC
Running "watch" task
Waiting...
Warning: watch /path/foo/bar ENOSPC
É necessário adicionar no arquivo /etc/sysctl.conf o parâmetro:
fs.inotify.max_user_watches=524288
Reiniciar o sysctl:
# sysctl -p --system