mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-05 14:57:15 +08:00
58 lines
967 B
Bash
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
|
|
|