#!/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} restart_cmd="${name}_restart" start_cmd="${name}_start" stop_cmd="${name}_stop" command="/usr/sbin/daemon" command_args="-c -f -S -r -P ${pidfile} -- ${procname} -c ${kresd_config} -n -q ${kresd_rundir}" kresd_restart() { if [ -f "${pidfile}" ]; then printf "restarting ${name}...\n\n" run_rc_command stop run_rc_command start fi } kresd_start() { if [ ! -d /var/run/${name} ]; then install -d -o ${kuser} -g ${kgroup} /var/run/${name} fi 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\n" done fi } run_rc_command "$1"