Upstart:将任务重复作为服务

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 秒调用一次 checksomethingquickly。(因此对于 cron 来说它太快了。)我们希望它在收到命令时启动,并在收到命令停止时终止任何/所有正在运行的实例。

在我看来,它可能是 upstart 中的“任务作业”,但我不清楚如何确保任务无限重复并且间隔 20 秒。确保它是序列化的也将是一个不错的改进。

这种脚本能变成新贵脚本吗?如果能,该怎么做?

相关内容