| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | #!/bin/sh##tor    The Onion Router## chkconfig: 2345 90 10# description: Onion RouterTORUSER=TORGROUP=TORBIN=@BINDIR@/torTORPID=@LOCALSTATEDIR@/run/tor/tor.pidTORLOG=@LOCALSTATEDIR@/log/tor/tor.logTORDATA=@LOCALSTATEDIR@/lib/torTORCONF=@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"fiif [ "x$TORGROUP" != "x" ]; then    TORARGS="$TORARGS --group $TORGROUP"fiRETVAL=0case "$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 1esacexit $RETVAL
 |