core/dhcp/dhcp6
2012-07-31 17:57:38 +00:00

58 lines
967 B
Bash

#!/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