我有一个应用更新服务,它使用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上停止)?
答案 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没有州支持(仅限活动)。