#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions . /etc/conf.d/dhcp PIDFILE="/var/run/dhcp6.pid" if [[ -f $PIDFILE ]]; then read -r PID < "$PIDFILE" # prevent stale pidfiles from hanging around if [[ ! -d /proc/$PID ]]; then echo 'pid not found. deleteing stale pidfile' unset PID rm -f "$PIDFILE" fi fi case "$1" in start) stat_busy "Starting DHCPv6 Server" if [[ $PID ]]; then stat_fail exit 1 fi if /usr/sbin/dhcpd -6 -pf "$PIDFILE" $DHCP6_ARGS; then add_daemon dhcp6 stat_done else stat_fail exit 1 fi ;; stop) stat_busy "Stopping DHCPv6 Server" if [[ ! $PID ]]; then stat_fail exit 1 fi if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then rm_daemon dhcp6 stat_done else stat_fail exit 1 fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac