#!/bin/bash exec 2>&1 export TERM=linux . /etc/rc.conf . /etc/rc.d/functions function cleanup(){ rm -f /etc/sv/frontend/.runtime/* printhl " Cleaning up /etc/sv/frontend/.runtime/" } #continue plymouthd that was stopped in /etc/X11/Sessions/Linhes pidfile=/run/plymouth.pid if [ -e "$pidfile" ]; then plypid=`cat "$pidfile"` if [ -n "$plypid" ]; then kill -s CONT "$plypid" fi fi grep -q nox /proc/cmdline STATUS=$? if [ $STATUS = 0 ] then printhl " status = 0: no X" chvt 2 else x1pid=`pidof Xorg` pkill -f "Xorg" printhl " status = 1: X" if [ ! -d /etc/sv/frontend/.runtime ] then mkdir -p /etc/sv/frontend/.runtime fi touch /etc/sv/frontend/.runtime/`date +%s` sleep 1 #ps -U mythtv -ef |grep "xinit /etc/X11/Sessions/LinHES"|grep -v grep|awk ' { print $2 } '|xargs kill -9 2> /dev/null #cdate=`date` numfilestotal=`/usr/bin/file_time_offset.py -s0 -d/etc/sv/frontend/.runtime` numfilesover10secondsold=`/usr/bin/file_time_offset.py -s10 -d/etc/sv/frontend/.runtime` numfileslessthan10secondsold=$(($numfilestotal-$numfilesover10secondsold)) if [ $numfileslessthan10secondsold -gt 2 ] then sv stop frontend printhl " Frontend disabled, due to many restarts." printhl " Run \"sv start frontend\" to try again" cleanup else if [ $numfilestotal -gt 10 ] then cleanup fi fi if [[ `pidof "Xorg"` -eq $x1pid ]] then printhl " X $x1pid is shutting down, waiting 10 seconds" sleep 10 if [[ `pidof "Xorg"` -eq $x1pid ]] then printhl " killing X $x1pid" kill -9 $x1pid fi fi killall -9 mythfrontend fi