forked from Lainports/freebsd-ports
Add status() function to rc script. PR: 266320 Reported by: yonas.yanfa@gmail.com Approved by: freebsd@dns.company (maintainer, timeout > 1 month)
75 lines
1.6 KiB
Bash
75 lines
1.6 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
|
|
}
|
|
|
|
kresd_status() {
|
|
if [ -e "${pidfile}" ]; then
|
|
echo "${name} is running on pid $(cat $pidfile)."
|
|
return 1
|
|
else
|
|
echo "${name} is not running."
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
run_rc_command "$1"
|