#!/bin/sh . /lib/functions.sh . /lib/mwan3/mwan3.sh LOG="logger -t $(basename "$0")[$$] -p" clean_up() { $LOG notice "Stopping mwan3rtmon..." exit 0 } rtchange() { $LOG info "Detect rtchange event." } main() { local rtmon_interval trap clean_up TERM trap rtchange USR1 config_load mwan3 config_get rtmon_interval globals rtmon_interval '5' sleep 3 while true; do mwan3_lock "service" "mwan3rtmon" mwan3_rtmon_ipv4 || mwan3_rtmon_ipv6 ret=$? mwan3_unlock "service" "mwan3rtmon" [ "$ret" = "0" ] || break [ "$rtmon_interval" = "0" ] && break sleep "$rtmon_interval" & wait done } main "$@"