#! /bin/bash while true do sleep 30m # If nothing has been written to the log for 30 minutes then we assume # pbot is dead. if [[ -z $(find logs/ -iname 'raw.log' -mmin -30) ]] then echo "[pbot-ng_fixer]: restarting pbot due to inactivity" # Kill all pbot processes while read -r pid do # If it's not the pid of this process then kill it. [[ "${pid}" != "$$" ]] || continue echo "[pbot-ng_fixer]: killing '$(ps -p ${pid} -o comm=)'(${pid})" kill "${pid}" &>/dev/null done < <( pgrep -u pbot ) # Start pbot cd /home/pbot ./envbot & ./labs_change_detector & fi done