6 # description: reverse-proxy and load-balancer
9 # Source function library
10 . /etc/rc.d/init.d/functions
13 . /etc/sysconfig/network
15 # List of instances to start.
16 POUND_INSTANCES="pound"
19 [ -f /etc/sysconfig/pound ] && . /etc/sysconfig/pound
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24 msg_network_down pound
31 # check if the $1 instance is up
34 local pidfile=/var/run/pound/$instance.pid
35 [ -f $pidfile ] || return 1
36 local pid=$(cat $pidfile)
37 kill -0 $pid 2>/dev/null
43 # Check if the service is already running?
44 if [ ! -f /var/lock/subsys/pound -o "$single" = 1 ]; then
45 for instance in $POUND_INSTANCES; do
46 is_up $instance && continue
47 msg_starting "Pound ($instance)"
48 PIDFILE=/var/run/pound/$instance.pid
49 start-stop-daemon --start \
50 --exec /usr/sbin/pound \
51 --pidfile $PIDFILE -- -v -f /etc/pound/$instance.cfg -p $PIDFILE
53 if [ $ret -eq 0 ]; then
61 [ $started = 1 ] && touch /var/lock/subsys/pound
63 if [ -z "$ret" -a "$single" = 1 ]; then
64 msg_already_running "Pound ($instance)"
67 msg_already_running "Pound"
74 if [ -f /var/lock/subsys/pound ]; then
75 for instance in $POUND_INSTANCES; do
76 is_up $instance || continue
77 msg_stopping "Pound ($instance)"
78 killproc --pidfile pound/$instance.pid pound
81 [ "$single" != 1 ] && rm -f /var/lock/subsys/pound > /dev/null 2>&1
82 if [ -z "$ret" -a "$single" = 1 ]; then
83 msg_not_running "Pound ($instance)"
86 msg_not_running "Pound"
91 if [ "$single" != 1 ]; then
92 # make up list of configured and up instances
94 for instance in $POUND_INSTANCES; do
95 is_up $instance || continue
96 list="$list $instance"
105 if [ "$1" != status -a "$2" ]; then
111 # See how we were called.
120 nls "Configured Pound instances:"
121 echo " $POUND_INSTANCES"
122 nls "Currently active Pound instances:"
124 for pidfile in /var/run/pound/*.pid; do
125 [ -f "$pidfile" ] || continue
126 instance=${pidfile#/var/run/pound/}
127 instance=${instance%.pid}
128 is_up $instance && echo -n " $instance($(cat $pidfile))"
134 restart|force-reload)
138 msg_usage "$0 {start|stop|restart|force-reload|status} [INSTANCE NAMES]"