#!/bin/sh
#
# Init file for tor - An Anonymizing overlay network for TCP
#
# chkconfig: - 99 01
# description: An Anonymizing overlay network for TCP
#
### BEGIN INIT INFO
# Default-Stop: 0 1 2 6
# Short-Description: An Anonymizing overlay network for TCP
# Description: An Anonymizing overlay network for TCP
# Required-Start: $network $remote_fs $local_fs
# Should-Start: $syslog $time
### END INIT INFO
. /lib/lsb/init-functions
f=/etc/sysconfig/tor
TOR_OPTS=--quiet
TOR_PIDFILE=/var/run/tor/tor.pid
TOR_USER=toranon
test ! -r "$f" || . "$f"
prog="/usr/bin/tor"
lockfile=/var/lock/subsys/tor
pidfile=$TOR_PIDFILE
start() {
echo -n $"Starting $prog: "
start_daemon $prog --PIDFile "$pidfile" --RunAsDaemon 1 $TOR_OPTS
rc=$?
if test $rc -eq 0 && touch $lockfile; then
log_success_msg
else
log_failure_msg
fi
return $rc
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -INT && log_success_msg || log_failure_msg
rm -f $pidfile $lockfile
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $prog: "
killproc $prog -HUP && log_success_msg || log_failure_msg
}
status() {
pidofproc -p "$TOR_PIDFILE" "$prog" >/dev/null 2>&1
rc=$?
case $rc in
(0) echo $"$prog is running";;
(1) echo $"program is dead and /var/run pid file exists";;
(2) echo $"program is dead and /var/lock lock file exists";;
(3) echo $"program is not running";;
(4) echo $"program or service status is unknown";;
(*) echo $"status $rc of $prog";;
esac
return $rc
}
case $1 in
(start|stop|reload|status|restart)
$1
;;
(force-reload)
restart
;;
(condrestart|try-restart)
if [ -f $lockfile ]; then
restart
fi
;;
(*)
echo $"Usage: $0 {start|stop|force-reload|reload|try-restart|status}"
exit 3
esac