Que tal:
( # In a subshell, for isolation, protecting $!
while true; do
perform-command & # in the background
sleep 10 ;
### If you want to wait for a perform-command
### that happens to run for more than ten seconds,
### uncomment the following line:
# wait $! ;
### If you prefer to kill a perform-command
### that happens to run for more than ten seconds,
### uncomment the following line instead:
# kill $! ;
### (If you prefer to ignore it, uncomment neither.)
done
)
ETA: Com todos esses comentários, alternativas e o subshell de proteção extra, isso parece muito mais complicado do que começou. Então, para comparação, aqui está o que parecia antes de começar a me preocupar com wait
ou kill
, com seus $!
e necessidade de isolamento:
while true; do perform-command & sleep 10 ; done
O resto é apenas para quando você precisa.