summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/runit-scripts/runitscripts/services/frontend/finish
blob: 417488dda9adb18f6826923327d23540855f4c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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/"
}

grep -q  nox /proc/cmdline
STATUS=$?
 if  [ $STATUS = 0 ]
      then
      printhl  " status = 0"
      chvt 2
else
    pkill   -f  "X :0"
    printhl  " status = 1"
    if [ ! -d /etc/sv/frontend/.runtime ]
    then
            mkdir  -p /etc/sv/frontend/.runtime
    fi
    touch /etc/sv/frontend/.runtime/`date +%s`
    sleep 0.2
    ps -U mythtv -ef |grep  "/bin/sh /usr/bin/startx"|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
fi