blob: 6bc324d5e32e3f7f51d1fcd1a838e78a58a26dad (
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#!/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
|