#! /bin/sh # # chkconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/memcached.conf # pidfile: /var/run/memcached/memcached.pid # Standard LSB functions . /lib/lsb/init-functions # Source function library. #. /etc/init.d/functions USER=nobody OPTIONS="-a 0766 -c 2048" RETVAL=0 PROG="memcached" start_instance() { echo -n $"Starting $PROG ($1): " start-stop-daemon -Sbvmp /var/run/memcached.$1.pid -x /usr/bin/memcached -- -d -s $3 -u $USER -m $2 -P /var/run/memcached/memcached.$1.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/memcached.$1 } stop_instance() { echo -n $"Stopping $PROG ($1): " #killproc -p /var/run/memcached/memcached.$1.pid /usr/bin/memcached start-stop-daemon -Kvp /var/run/memcached/memcached.$1.pid -x /usr/bin/memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/memcached.$1 rm -f /var/run/memcached/memcached.$1.pid fi } start () { # insure that /var/run/memcached has proper permissions if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then chown $USER /var/run/memcached fi # start 2 socket streams for memcached. start_instance default 2048 /var/run/memcached/memcached.socket0; start_instance page 512 /var/run/memcached/memcached.socket1; } stop () { stop_instance default; stop_instance page; } restart () { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status memcached ;; restart|reload|force-reload) restart ;; condrestart) [ -f /var/lock/memcached ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" exit 1 esac exit $?