diff options
Diffstat (limited to 'abs/core/ntp/ntpd')
-rwxr-xr-x[-rw-r--r--] | abs/core/ntp/ntpd | 83 |
1 files changed, 39 insertions, 44 deletions
diff --git a/abs/core/ntp/ntpd b/abs/core/ntp/ntpd index 825efc1..480fa10 100644..100755 --- a/abs/core/ntp/ntpd +++ b/abs/core/ntp/ntpd @@ -2,51 +2,46 @@ . /etc/rc.conf . /etc/rc.d/functions -. /etc/conf.d/ntp-client.conf +. /etc/conf.d/ntpd.conf -PIDFILE="/var/run/ntpd/ntpd.pid" -PID=$(cat $PIDFILE 2> /dev/null) +unset PID +PIDFILE='/run/ntpd.pid' + +if [[ -r ${PIDFILE} ]]; then + read -r PID <"${PIDFILE}" + if [[ -n ${PID} && ! -d /proc/${PID} ]]; then + rm -f "${PIDFILE}" + unset PID + fi +fi case "$1" in - start) - stat_busy "Starting NTP Daemon" - [ ! -d /var/run/ntpd ] && install -d /var/run/ntpd &>/dev/null - if [ -z "$PID" ]; then - /usr/bin/ntpd $NTPD_ARGS -p /var/run/ntpd/ntpd.pid &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - add_daemon ntpd - stat_done - fi - else - stat_fail - exit 1 - fi - ;; - stop) - stat_busy "Stopping NTP Daemon" - if [ -n "$PID" ]; then - kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - rm $PIDFILE &>/dev/null - rm_daemon ntpd - stat_done - fi - else - stat_fail - exit 1 - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" + start) + stat_busy "Starting NTP Daemon" + if [[ -z ${PID} ]] && /usr/bin/ntpd ${NTPD_ARGS} -p "${PIDFILE}" &>/dev/null; then + add_daemon ntpd + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping NTP Daemon" + if [[ -n ${PID} ]] && kill "${PID}" &>/dev/null; then + rm ${PIDFILE} + rm_daemon ntpd + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" esac |