81fe605
#!/bin/bash
81fe605
#
81fe605
# Init file for tor - An Anonymizing overlay network for TCP
81fe605
#
81fe605
# chkconfig: - 99 01
81fe605
# description:   An Anonymizing overlay network for TCP
81fe605
#
81fe605
81fe605
. /etc/rc.d/init.d/functions
81fe605
81fe605
f=/etc/sysconfig/tor
81fe605
81fe605
TOR_SHUTDOWN_WAIT=30
81fe605
TOR_OPTS=--quiet
81fe605
TOR_PIDFILE=/var/run/tor/tor.pid
81fe605
TOR_USER=toranon
81fe605
test ! -r "$f" || . "$f"
81fe605
81fe605
prog="/usr/bin/tor"
81fe605
81fe605
lockfile=/var/lock/subsys/tor
81fe605
pidfile=$TOR_PIDFILE
81fe605
81fe605
start() {
81fe605
    echo -n $"Starting $prog: "
81fe605
    daemon --pidfile="$pidfile" $prog --PIDFile "$pidfile" --RunAsDaemon 1 $TOR_OPTS || failure
81fe605
    rc=$?
81fe605
    test $rc -ne 0 || touch $lockfile
81fe605
    return $rc
81fe605
}
81fe605
81fe605
stop() {
81fe605
    echo -n $"Stopping $prog: "
81fe605
    if ! killproc -p "$pidfile" $prog -INT; then
81fe605
	failure
81fe605
    else
81fe605
	cnt=$TOR_SHUTDOWN_WAIT
81fe605
	while let '--cnt > 0' && killproc -p "$pidfile" $prog -0; do
81fe605
	    sleep 1
81fe605
	done
81fe605
81fe605
	if test $cnt -ne 0 || killproc -p "$pidfile" $prog; then
81fe605
	    success
81fe605
	else
81fe605
	    failure
81fe605
	fi
81fe605
    fi
81fe605
81fe605
    rm -f $pidfile $lockfile
81fe605
}
81fe605
81fe605
restart() {
81fe605
    stop
81fe605
    start
81fe605
}
81fe605
81fe605
reload() {
81fe605
    echo -n $"Reloading $prog: "
81fe605
    killproc -p "$pidfile" $prog -HUP && success || failure || return 7
81fe605
}
81fe605
81fe605
_status() {
81fe605
    status -p $pidfile $prog
81fe605
}
81fe605
81fe605
case $1 in
81fe605
    (start|stop|reload|restart)
81fe605
	$1
81fe605
	;;
81fe605
    (force-reload)
81fe605
	restart
81fe605
	;;
81fe605
    (status)
81fe605
	_status
81fe605
	;;
81fe605
    (condrestart|try-restart)
81fe605
	if _status &>/dev/null; then
81fe605
	    restart
81fe605
	fi
81fe605
	;;
81fe605
    (*)
81fe605
	echo $"Usage: $0 {start|stop|force-reload|reload|try-restart|status}"
81fe605
	exit 3
81fe605
esac