You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sys-block/spindown/files/spindownd.initd-r1

62 lines
1.5 KiB

#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
SPINDOWND_BIN="/usr/sbin/spindownd"
SPINDOWND_CFG=${SPINDOWND_CFG:-/etc/spindown.conf}
SPINDOWND_PID=${SPINDOWND_PID:-/var/run/spindown.pid}
SPINDOWND_FIFO=${SPINDOWND_FIFO:-/var/run/spindown.fifo}
extra_started_commands="reload"
depend() {
need localmount
after bootmisc
}
checkconfig() {
# check for config file
if [ ! -e "${SPINDOWND_CFG}" ]; then
eerror
eerror "The spindownd config file (${SPINDOWND_CFG})"
eerror "is missing!"
eerror
return 1
fi
# check for leftover pidfile
if [ -f "${SPINDOWND_PID}" ]; then
ewarn
ewarn "The spindownd pidfile (${SPINDOWND_PID})"
ewarn "exists although the service is not marked as started."
ewarn "Will remove the pidfile and start the service in 10s"
ewarn "if not interrupted..."
ewarn
sleep 10
if ! rm -f "${SPINDOWND_PID}"; then
eerror "Failed to remove the spindownd pidfile (${SPINDOWND_PID})"
return 1
fi
fi
}
start() {
checkconfig || return 1
ebegin "Starting spindownd"
start-stop-daemon --start --exec ${SPINDOWND_BIN} \
-- -d -c ${SPINDOWND_CFG} -p ${SPINDOWND_PID} -f ${SPINDOWND_FIFO}
eend $?
}
stop() {
ebegin "Stopping spindownd"
start-stop-daemon --stop --exec ${SPINDOWND_BIN} --pidfile ${SPINDOWND_PID}
eend $?
}
reload() {
ebegin "Reloading spindownd configuration"
start-stop-daemon --exec ${SPINDOWND_BIN} --pidfile ${SPINDOWND_PID} \
--signal HUP
eend $?
}