I just want to periodically run something, every few seconds, and I don't particularly care about the output. (cron is not the right tool for this, fwiw).
E nem é watch
. Ele é projetado para interativamente monitorar a saída de algum comando - ele se recusará a ser executado em segundo plano se não puder controlar o terminal, como qualquer outro programa interativo.
Tente algo mais simples:
while sleep 2; do ./do-something.sh; done &
Ah, e o cron seria a ferramenta certa para fazer isso - afinal, esse é o seu único trabalho. Há apenas a limitação de não poder especificar tarefas com segunda precisão.