#!/bin/sh # # Automatic LED control for Xiaomi MJSXJ03HL streamerProcess="majestic" serviceProcess="sysupgrade" pollingInterval=1 show_help() { echo "Usage: $0 [-p process] [-s process] [-i value] [-h] -p process Monitored streamer process (default = ${streamerProcess}). -s process Monitored service process (default = ${serviceProcess}). -i value Polling interval in seconds (default = ${pollingInterval}). -h Show this help." exit 0 } # override config values with command line arguments while getopts H:L:i:h flag; do case ${flag} in p) streamerProcess=${OPTARG} ;; s) serviceProcess=${OPTARG} ;; i) pollingInterval=${OPTARG} ;; h | *) show_help ;; esac done echo "Streamer process: ${streamerProcess}" echo "Service process: ${serviceProcess}" echo "Polling interval: ${pollingInterval} sec" led_state=0 /usr/sbin/led_control.sh -o 0 -b 0 while true; do if killall -q -0 $serviceProcess; then if [ $led_state -ne 3 ]; then echo "$serviceProcess is running, turn white LED on" /usr/sbin/led_control.sh -o 1 -b 1 led_state=3 fi else if [ $led_state -ne 1 ] && ! killall -q -0 $streamerProcess; then echo "$streamerProcess is not running, turn orange LED on" /usr/sbin/led_control.sh -o 1 -b 0 led_state=1 elif [ $led_state -ne 2 ] && killall -q -0 $streamerProcess; then echo "$streamerProcess is running, turn blue LED on" /usr/sbin/led_control.sh -o 0 -b 1 led_state=2 fi fi sleep $pollingInterval done