summaryrefslogtreecommitdiff
path: root/net/dictd/files/dictd.sh
blob: 6791440d512e3f891dc4859be6d106efe98d4db7 (plain) (blame)
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
#!/bin/sh
# $FreeBSD$

SOCKSTAT=/usr/bin/sockstat
GREP=/usr/bin/grep
AWK=/usr/bin/awk
ECHO=/bin/echo
CAT=/bin/cat
KILL=/bin/kill
RM=/bin/rm

DICTD=%%PREFIX%%/sbin/dictd

# DICTD_OPTIONS="-put -command_line -options -for -dictd -here"
DICTD_OPTIONS=""

DICTD_PID_FILE=/var/run/dictd.pid

case "$1" in
	start)
		if [ -x $DICTD ]; then
			${ECHO} "dictd starting."
			$DICTD $DICTD_OPTIONS
			${ECHO} `${SOCKSTAT} | ${GREP} dictd | ${AWK} '{print $3}'` > ${DICTD_PID_FILE}
		else
			${ECHO} "dictd.sh: cannot find $DICTD or it's not executable"
		fi
		;;

	stop)
		if [ ! -f $DICTD_PID_FILE ]; then
			exit 0
		fi
		dictdpid=`${CAT} $DICTD_PID_FILE`
		if [ "$dictdpid" -gt 0 ]; then
			${ECHO} "Stopping the dictd server."
			${KILL} -15 $dictdpid 2>&1 > /dev/null
		fi
		${RM} -f $DICTD_PID_FILE
		;;
	*)
		echo "Usage: dictd.sh { start | stop }"
		;;
esac