#!/bin/sh # # config.rc sample with defaults : # service haproxy # config /etc/haproxy/haproxy.cfg # maxconn 1024 # config="/etc/haproxy/haproxy.cfg" maxconn=1024 bin=/usr/sbin/haproxy cmdline='$bin -D' . $ROOT/sbin/init.d/default if [ -e "$config" ]; then maintfd=`grep '^\([^#]*\)\(listen\|server\)' $config|wc -l` else maintfd=0 fi maxfd=$[$maxconn*2 + $maintfd] if [ $maxfd -lt 100 ]; then maxfd=100; fi cmdline="$cmdline -n $maxconn -f $config" ulimit -n $maxfd # to get a core when needed, uncomment the following : # cd /var/tmp # ulimit -c unlimited # soft stop function do_stop { pids=`pidof -o $$ -- $PNAME` if [ ! -z "$pids" ]; then echo "Asking $PNAME to terminate gracefully..." kill -USR1 $pids echo "(use kill $pids to stop immediately)." fi } # dump status function do_status { pids=`pidof -o $$ -- $PNAME` if [ ! -z "$pids" ]; then echo "Dumping $PNAME status in logs." kill -HUP $pids else echo "Process $PNAME is not running." fi } main $*