#!/bin/sh # # $FreeBSD: head/dns/knot-resolver/files/kresd.in 542054 2020-07-11 20:57:41Z pi $ # # 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 /usr/local/etc/knot-resolver/kresd.conf # by default. # . /etc/rc.subr name=kresd rcvar=kresd_enable load_rc_config ${name} kresd_enable=${kresd_enable:-"NO"} kresd_config=${kresd_config:-"/usr/local/etc/knot-resolver/${name}.conf"} kresd_rundir="/var/run/kresd" pidfile="/var/run/kresd/${name}.pid" procname="/usr/local/sbin/${name}" required_files="${kresd_config}" kuser=${name} kgroup=$name} start_cmd=kresd_start stop_cmd=kresd_stop command="/usr/sbin/daemon" command_args="-c -f -S -r -P ${pidfile} -- ${procname} -c ${kresd_config} -n -q ${kresd_rundir}" kresd_prestart() { if [ ! -d /var/run/${name} ]; then install -d -o ${kuser} -g ${kgroup} /var/run/${name} fi if [ -f "${pidfile}" ]; then echo "${name} is already running" ${stop_cmd} fi } kresd_start() { if [ ! -f "${pidfile}" ]; then echo "starting ${name}..." && \ ${command} ${command_args} printf "\n${name} started.\n" fi } kresd_stop() { if [ -f "${pidfile}" ]; then echo "stopping ${name}..." && \ for pid in `ps waux | grep ${name} | grep daemon | awk '{print $2}'`; \ do \ kill -TERM $pid printf "\n${name} stopped.\n" done fi } run_rc_command "$1"