У меня есть несколько служб в init.d, которые представляют собой простые однострочные команды, заключенные в сценарий, который повторяется каждые несколько секунд. Шаблон для них выглядит так:
например
#!/bin/sh
autostart() {
while true
do
$@ ; sleep 20
done
}
case "$1" in
start)
echo " started"
autostart /path/to/checksomethingquickly
;;
stop)
me=`basename $0`
killall checksomethingquickly $me
;;
esac
## End of File
Суть этой «службы» состоит в том, чтобы вызывать что-нибудь быстро каждые 20 секунд. (Следовательно, для cron это слишком быстро.) Мы хотим, чтобы он запускался по команде и убивал все запущенные экземпляры, когда ему приказывают остановиться.
Мне кажется, что это может быть «Задание задачи» в выскочке, но я не понимаю, как обеспечить, чтобы задача повторялась бесконечно и с интервалом в 20 секунд. Обеспечение его сериализации тоже было бы хорошим улучшением.
Можно ли превратить этот сценарий в сценарий-выскочку? Если да, то как?