From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/preload/rc.preload | 97 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 community/preload/rc.preload (limited to 'community/preload/rc.preload') diff --git a/community/preload/rc.preload b/community/preload/rc.preload new file mode 100644 index 000000000..a3cb01ba0 --- /dev/null +++ b/community/preload/rc.preload @@ -0,0 +1,97 @@ +#!/bin/bash +# +# /etc/rc.d/init.d/preload +# +# Starts the preload daemon +# +# Heavily modified for Arch Linux by Leslie P. Polzer . + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/preload` + +if [ -f /etc/conf.d/preload ]; then + . /etc/conf.d/preload +fi + +MIN_MEMORY=${MIN_MEMORY:-256} +# Check for > MIN_MEMORY MB +free -m | awk '/Mem:/ {exit ($2 >= ('"$MIN_MEMORY"'))?0:1}' || exit 0 + +RETVAL=0 + +# +# See how we were called. +# + +start() { + if [ -z "$PID" ]; then + stat_busy "Starting preload daemon: " + /usr/sbin/preload $PRELOAD_OPTS + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + if [ -n $IONICE_OPTS ]; then + /usr/bin/ionice $IONICE_OPTS -p "`pidof -o %PPID /usr/sbin/preload`" + fi + add_daemon preload + stat_done + else + stat_fail + fi + fi + return $RETVAL +} + +stop() { + stat_busy "Stopping preload daemon: " + kill $PID &>/dev/null + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + rm_daemon preload + stat_done + PID="" + else + stat_fail + fi + return $RETVAL +} + + +restart() { + $0 stop + sleep 1 + $0 start +} + +reload() { + trap "" SIGHUP + kill -HUP $PID +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + restart + ;; + condrestart) + if [ ! -z $PID ]; then + restart + else + stat_fail + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|condrestart|reload}" + exit 1 +esac + +exit $RETVAL -- cgit v1.2.3-54-g00ecf