]> git.pld-linux.org Git - packages/bigsister.git/blame - bigsister.init
- init script and patches for bigsister
[packages/bigsister.git] / bigsister.init
CommitLineData
e024b032
JB
1#!/bin/sh
2#
3# bigsister Big Sister System and Network Monitor
4#
5# chkconfig: 345 98 99
6# description: Big Sister is System and Network Montoring system
7
8# Source function library
9. /etc/rc.d/init.d/functions
10
11# Get network config
12. /etc/sysconfig/network
13
14# Get service config
15[ -f /etc/sysconfig/bigsister ] && . /etc/sysconfig/bigsister
16
17# Check that networking is up.
18if is_no "${NETWORKING}"; then
19 # nls "ERROR: Networking is down. %s can't be run." <service>
20 msg_network_down Big Sister
21 exit 1
22fi
23
24bs_killproc() { # kill the named process(es)
25 msg_stopping "${4-$1}"
26 pid=`ps -e -o pid,comm,args 2>/dev/null | grep -w perl 2>/dev/null | grep " $1 " 2>/dev/null | grep -v grep | awk '{ print $1 }'`
27 if [ "$pid" != "" ]; then
28 kill $2 $pid && ( ok ; : ) || fail
29 else
30 [ "$3" = "y" ] && ( died ; : ) || ok
31 fi
32}
33
34
35# See how we were called.
36case "$1" in
37 start)
38 # Check if the service is already running?
39 if [ ! -f /var/lock/subsys/bigsister ]; then
40 if is_yes "$UXMON_ASROOT" ; then
41 uxmonprefix="/bin/sh"
42 else
43 uxmonprefix="su - bs -s /bin/sh"
44 fi
45 umask 022
46 if [ -f /usr/lib/bs/bin/bsmon -a -f /etc/bs/etc/bsmon.cfg ]; then
47 msg_starting "Big Sister bsmon"
48 $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/bin/bsmon" > /dev/null 2>&1
49 RETVAL=$?
50 [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
51 fi
52 if [ -f /usr/lib/bs/bin/bbd -a -f /etc/bs/adm/bb-display.cfg ]; then
53 msg_starting "Big Sister bbd"
54 $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/bin/bbd -b /usr/lib/bs $BBD_ARGS" >/dev/null 2>&1
55 RETVAL=$?
56 [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
57 fi
58 for f in /etc/bs/adm/uxmon-net* ; do
59 set `basename $f`
60 case $1 in
61 *bak|*%|*~|*.rpmsave|*.rpmorig|*.rpmnew)
62 continue
63 ;;
64 *)
65 msg_starting "Big Sister uxmon $1"
66 $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/uxmon/uxmon -r /usr/lib/bs/uxmon/uxmon-rules.pl -b /usr/lib/bs -c $1" >/dev/null 2>&1
67 RETVAL=$?
68 [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
69 ;;
70 esac
71 done
72 if [ -f /etc/bs/adm/bstrapd.cfg ]; then
73 # bstrapd will only run as root
74 msg_starting "Big Sister bstrapd"
75 /usr/bin/setsid /usr/lib/bs/bin/bstrapd >/dev/null 2>&1
76 [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
77 fi
78 touch /var/lock/subsys/bigsister
79 else
80 msg_already_running Big Sister
81 exit 1
82 fi
83 ;;
84 stop)
85 if [ -f /var/lock/subsys/bigsister ]; then
86 bs_killproc uxmon -QUIT y "Big Sister uxmon"
87 bs_killproc bbd -QUIT n "Big Sister bbd if running"
88 bs_killproc bb_event_generator -QUIT n "Big Sister bb_event_generator if running"
89 bs_killproc bsmon -QUIT n "Big Sister bsmon if running"
90 bs_killproc bstrapd -QUIT n "Big Sister bstrapd if running"
91 rm -f /var/lock/subsys/bigsister
92 else
93 msg_not_running Big Sister
94 exit 1
95 fi
96 ;;
97 restart|reload)
98 $0 stop
99 $0 start
100 ;;
101 *)
102 msg_usage "$0 {start|stop|restart|reload}"
103 exit 1
104 ;;
105esac
106
107exit 0
This page took 0.046239 seconds and 4 git commands to generate.