| #!/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 $* |
| |