条件执行在upstart conf ok做什么?

时间:2015-01-23 11:41:11

标签: ubuntu upstart

我有一个应用更新服务,它使用conf作为服务器进行同步:

start on started engine
stop on stopped engine or firmware_update_mode

现在,我在/var/run/engine/wifi的设备上获得状态为up / down的wifi状态。我现在正试图了解什么是让这个应用更新服务仅在wifi上运行并在wifi上停止的正确方法。当然,它只会在发动机运转时运行。因此,它应该作为条件执行运行,即

启动引擎 wifi启动,停止wifi关闭。

app-update.conf是否适合放置此类条件(在wifi上运行,在wifi上停止)?

1 个答案:

答案 0 :(得分:2)

添加另一份工作:

start on file EVENT=modify FILE=/var/run/engine/wifi or starting app-update

task

script
    if grep -q "^up" /var/run/engine/wifi && \
       initctl status engine | grep -q "start/running"
    then
        start app-update
    elif grep -q "^down" /var/run/engine/wifi; then
        stop app-update
    fi
end script

当应用程序更新首次启动时,这将检查wifi是否已启动,并在wifi上升或下降时启动和停止应用更新。

遗憾的是,这有点复杂,因为Upstart没有州支持(仅限活动)。