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-apps/preload/files/preload-0.6.4.init.in-r2

67 lines
1.5 KiB

#!/sbin/openrc-run
description='Start/stop the preload daemon'
extra_started_commands='dump reload'
description_dump='Dump the config and state of the daemon (to the logfile)'
description_reload='Reload the daemon'
PIDFILE="/var/run/preload.pid"
depend() {
after localmount
use netmount ntpd
}
dump() {
local pid
pid=$(cat ${PIDFILE})
ebegin "Dumping the config and state of preload"
if [ -n "${pid}" ]; then
kill -USR1 ${pid}
kill -USR2 ${pid}
fi
eend ${?} && \
einfo "These should have been written to ${PRELOAD_LOGFILE:-/var/log/preload.log}"
}
reload() {
ebegin "Reloading preload"
kill -HUP $(cat ${PIDFILE})
eend ${?}
}
start() {
local ionice
ebegin "Starting preload"
#MIN_MEMORY=${MIN_MEMORY:-256}
# Check for > MIN_MEMORY MB
#free -m | awk '/Mem:/ {exit ($2 >= ('"$MIN_MEMORY"'))?0:1}' || exit 0
# First try to start with ionice; if that fails, try without.
for ionice in "ionice ${IONICE_OPTS:--c3}" ''; do
# Avoid 'ionice not found' errors
${ionice} true >/dev/null 2>&1 || continue
${ionice} start-stop-daemon --start --quiet --background \
--make-pidfile --pidfile ${PIDFILE} \
--exec /usr/sbin/preload -- \
-l ${PRELOAD_LOGFILE:-/var/log/preload.log} \
-V ${PRELOAD_VERBOSITY:-1} \
-n ${PRELOAD_NICE:-15} \
-s ${PRELOAD_STATEFILE:-""} \
${PRELOAD_OPTS} -f \
&& break
done
eend ${?}
}
stop() {
ebegin "Stopping preload (this may take a while)"
start-stop-daemon --stop --retry 120 --quiet --pidfile ${PIDFILE}
eend ${?}
}