aboutsummaryrefslogtreecommitdiff
path: root/tor.sh.in
blob: b47d82ae8714d09641a960b81a80d903755a127c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh

TORBIN=@BINDIR@/tor
TORPID=@LOCALSTATEDIR@/run/tor.pid
TORLOG=@LOCALSTATEDIR@/log/tor/tor.log
TORCONF=@CONFDIR@/torrc
TORARGS="-l warn"
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..."
        $TORBIN -f $TORCONF $TORARGS >$TORLOG 2>&1 &
        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"
        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