Как насчет:
( # 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: Со всеми этими комментариями, альтернативами и вспомогательной оболочкой для дополнительной защиты это выглядит намного сложнее, чем казалось. Итак, для сравнения, вот как это выглядело до того, как я начал беспокоиться о wait
или kill
с их $!
потребностью в изоляции:
while true; do perform-command & sleep 10 ; done
Остальное действительно только тогда, когда вам это нужно.