blob: 8d27c3971c77b3124dcccde391638ab7a76fd8bf (
about) (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#!/bin/sh
#
# Startup script for dansguardian
#
# processname: dansguardian
# pidfile: /var/run/dansguardian.pid
# config: /etc/dansguardian/dansguardian.conf
# File includes changes by Thomas Jarosch
function wait_for_pid()
{
local PID=$1
local RET=0
if [ $PID -eq 0 ] ; then
return $RET
fi
# give 60 secs then KILL
local COUNTDOWN=60
while [ -d /proc/${PID} ] && [ $COUNTDOWN -gt 0 ] ; do
sleep 1
COUNTDOWN=$[$COUNTDOWN-1]
done
if [ -d /proc/${PID} ]; then
COMMAND=`ps h -o command ${PID}`
logger "dansguardian: timeout waiting for PID ${PID}: ${COMMAND}; sending SIGKILL"
kill -KILL $PID >/dev/null 2>&1
RET=1
fi
return $RET
}
# See how we were called.
case "$1" in
start)
if [ -f /usr/sbin/dansguardian ] &&
[ -f /etc/dansguardian/dansguardian.conf ]; then
echo -n "Starting dansguardian: "
if /usr/sbin/dansguardian 2> /dev/null; then
echo " OK"
else
echo " FAILED"
fi
fi
;;
stop)
echo -n "Shutting down dansguardian: "
WAITPID=0
if [ -f /var/run/dansguardian.pid ] ; then
WAITPID=`cat /var/run/dansguardian.pid`
fi
if /usr/sbin/dansguardian -q 2> /dev/null; then
if wait_for_pid $WAITPID ; then
echo " OK"
else
echo " FAILED"
fi
/bin/rm -f /var/run/dansguardian.pid
/bin/rm -f /tmp/.dguardianipc
else
echo " FAILED"
fi
;;
restart)
$0 stop
$0 start
;;
status)
if [ -x /usr/sbin/dansguardian ]; then
/usr/sbin/dansguardian -s
else
echo "Dansguardian is not installed!"
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}" >&2
;;
esac
exit 0
|