123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #!/bin/sh
- #
- #tor The Onion Router
- #
- # chkconfig: 2345 90 10
- # description: Onion Router
- TORUSER=
- TORGROUP=
- TORBIN=@BINDIR@/tor
- TORPID=@LOCALSTATEDIR@/run/tor/tor.pid
- TORLOG=@LOCALSTATEDIR@/log/tor/tor.log
- TORDATA=@LOCALSTATEDIR@/lib/tor
- TORCONF=@CONFDIR@/torrc
- # Strictly speaking, we don't need to su if we have --user and --group.
- # "Belt and suspenders," says jbash.
- TORARGS="--pidfile $TORPID --log \"notice file $TORLOG \" --runasdaemon 1 --datadirectory $TORDATA"
- if [ "x$TORUSER" != "x" ]; then
- TORARGS="$TORARGS --user $TORUSER"
- fi
- if [ "x$TORGROUP" != "x" ]; then
- TORARGS="$TORARGS --group $TORGROUP"
- fi
- RETVAL=0
- case "$1" in
- start)
- if [ -f $TORPID ]; then
- echo "tor appears to be already running (pid file exists)"
- echo "Maybe you should run: $0 restart ?"
- RETVAL=1
- else
- echo -n "Starting tor..."
- if [ "x$TORUSER" = "x" ]; then
- $TORBIN -f $TORCONF $TORARGS
- else
- /bin/su -c "$TORBIN -f $TORCONF $TORARGS" $TORUSER
- fi
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- echo " ok"
- else
- echo " ERROR!"
- fi
- fi
- ;;
- stop)
- if [ -f $TORPID ]; then
- echo -n "Killing tor..."
- kill `cat $TORPID`
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- echo " ok"
- else
- echo " ERROR!"
- fi
- else
- echo "Unable to kill tor: $TORPID does not exist. Assuming already dead."
- RETVAL=0
- fi
- ;;
- reload)
- if [ -f $TORPID ]; then
- echo -n "Sending HUP to tor..."
- kill -HUP `cat $TORPID`
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- echo " ok"
- else
- echo " ERROR!"
- fi
- else
- echo "Unable to kill tor: $TORPID does not exist"
- RETVAL=1
- fi
- ;;
- restart)
- $0 stop
- if [ -f $TORPID ]; then
- rm -f $TORPID
- fi
- $0 start
- ;;
- status)
- PID=`cat $TORPID 2>/dev/null`
- if [ "$PID" != "" ]; then
- torstat=`ps -p $PID | grep -c "^$PID"`
- if [ $torstat ]; then
- echo "tor is running ($PID)"
- else
- echo "tor is not running (looks like it crashed, look for core? $PID)"
- fi
- else
- echo "tor is not running (exited gracefully)"
- fi
- ;;
- log)
- cat $TORLOG
- ;;
- *)
- echo "Usage: $0 (start|stop|restart|status|log)"
- exit 1
- esac
- exit $RETVAL
|