#!/bin/sh # chkconfig: 35 98 10 # description: blackhole general TCP proxy central authority # processname: blackhole # pidfile: /var/run/blackhole.pid cd / PIDFILE=/var/run/horizon.pid SUBSYS=/var/lock/subsys/horizon NAME=horizon CONTROL=/usr/sbin/horizon-control BINDFILE=/etc/horizon-options.conf SECRET=/etc/horizon.secret case "$1" in start) mkdir -p /var/run/blackhole SECRETOPT= if [ -f $SECRET ] ; then SECRETOPT="--secretfile $SECRET" fi MAXHANDLES=3000 if [ ! -f $BINDFILE ] ; then echo $BINDFILE does not exist echo exiting exit 1 fi # This file must define HORIZONOPTIONS . $BINDFILE echo -n "Starting $NAME: " ulimit -n $MAXHANDLES; /usr/sbin/$NAME --maxhandles $MAXHANDLES --daemon $HORIZONOPTIONS $SECRETOPT echo $NAME touch $SUBSYS if [ ! -f /etc/$NAME-rules.sh ] ; then echo "No /etc/$NAME-rules.sh, $NAME won't do anything" else /etc/$NAME-rules.sh fi ;; stop) echo -n "Stopping $NAME: " if [ -f $PIDFILE ] ; then $CONTROL quit kill `cat $PIDFILE` 2>/dev/null rm -f $SUBSYS rm -f $PIDFILE echo "$NAME" else echo fi ;; restart) $0 stop sleep 5 $0 start ;; reload) echo Running /etc/$NAME-rules.sh /etc/$NAME-rules.sh ;; status) if [ ! -f $PIDFILE ] ; then echo Service $NAME is not running elif ! kill -0 `cat $PIDFILE` ; then echo Service $NAME is not running echo Unclean shutdown else echo Service $NAME is running echo Status $CONTROL status fi ;; *) echo "Usage: $NAME {start|stop|restart|reload|status}" exit 1 esac exit 0