Назад | Перейти на главную страницу

Upstart: повторение задачи как услуги

У меня есть несколько служб в 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 секунд. Обеспечение его сериализации тоже было бы хорошим улучшением.

Можно ли превратить этот сценарий в сценарий-выскочку? Если да, то как?