summaryrefslogtreecommitdiff
path: root/community/inn/innd.rc
blob: 5e36aec0d62e481dfe1076a181c55cc04d4e28e2 (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
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions
[ -f /etc/conf.d/innd ] && . /etc/conf.d/innd
[ -z "$NEWS_USER" ] && print "Please set news username" && exit 1;
[ -z "$NEWS_GROUP" ] && print "Please set news groupname" && exit 1;

case "$1" in
	start)
		stat_busy "Starting InterNetNews"
		[ -d /var/run/inn ] || {
			mkdir -p /var/run/inn
			chown -R $NEWS_USER:$NEWS_GROUP /var/run/inn
		}
		su $NEWS_USER -c /usr/bin/rc.news 2>&- >&-
		if [ $? -gt 0 ]; then
			stat_fail
		else
			echo $! > /var/run/innd.pid
			add_daemon innd
			stat_done
		fi

	;;
	stop)
		stat_busy "Stopping InterNetNews"
		ctlinnd throttle "shutting down" 2>&- >&-
		su $NEWS_USER -c /usr/bin/rc.news stop 2>&- >&-
		if [ $? -gt 0 ]; then
			stat_fail
		else
			kill `ps faxu| grep ^$NEWS_USER | awk -- '{print $2}'` 2>&- >&-
			rm /var/run/innd.pid
			rm_daemon innd
			stat_done
		fi
	;;
	restart)
		$0 stop
		sleep 1
		$0 start
	;;
	*)
		echo "usage: $0 {start|stop|restart}"
esac
exit 0