1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-05 01:55:52 +00:00
freebsd-ports/dns/knot-resolver/files/kresd.in

66 lines
1.4 KiB
Bash

#!/bin/sh
# PROVIDE: kresd
# REQUIRE: NETWORKING
# BEFORE: SERVERS
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable knot-resolver:
#
# kresd_enable="YES": Set to YES to enable kresd.
# Set to NO by default.
# kresd_config="": Set to %%ETCDIR%%/kresd.conf
# by default.
#
. /etc/rc.subr
name=kresd
rcvar=kresd_enable
load_rc_config ${name}
# set defaults
kresd_enable=${kresd_enable:-"NO"}
kresd_config=${kresd_config:-"%%ETCDIR%%/${name}.conf"}
kresd_user="%%USERS%%"
kresd_group="%%GROUPS%%"
kresd_rundir="/var/run/${name}"
pidfile="${kresd_rundir}/${name}.pid"
procname="%%PREFIX%%/sbin/${name}"
required_files="${kresd_config}"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
command="/usr/sbin/daemon"
command_args="-c -f -S -r -P ${pidfile} -T ${name} -- ${procname} -c ${kresd_config} -n -q ${kresd_rundir}"
kresd_start() {
if [ ! -d /var/run/${name} ]; then
install -d -o ${kresd_user} -g ${kresd_group} -m 700 ${kresd_rundir}
fi
if [ ! -f "${pidfile}" ]; then
echo "starting ${name}..." && \
${command} ${command_args}
echo -e "\e[1A\e[K${name} started."
else
echo "${name} already seems to be running."
fi
}
kresd_stop() {
if [ -f "${pidfile}" ]; then
echo "stopping ${name}..." && \
for pid in `ps waux | grep ${procname} | grep daemon | awk '{print $2}'`; do \
kill -TERM $pid
done
echo -e "\e[1A\e[K${name} stopped."
else
echo "${name} seems to be not running."
fi
}
run_rc_command "$1"