mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
64 lines
1.2 KiB
Bash
64 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
. /etc/rc.conf
|
||
|
. /etc/rc.d/functions
|
||
|
. /etc/conf.d/memcached
|
||
|
|
||
|
PIDFILE='/var/run/memcached.pid'
|
||
|
|
||
|
getpid() {
|
||
|
local pid
|
||
|
pid=$(cat $PIDFILE 2>/dev/null)
|
||
|
# if the process is no longer valid, don't return it
|
||
|
if [ -n "$pid" ]; then
|
||
|
if ! ps -p $pid >/dev/null; then
|
||
|
rm -f $PIDFILE
|
||
|
pid=""
|
||
|
fi
|
||
|
fi
|
||
|
echo $pid
|
||
|
}
|
||
|
|
||
|
PID="$(getpid)"
|
||
|
|
||
|
case "$1" in
|
||
|
start)
|
||
|
stat_busy "Starting memcached"
|
||
|
# memcached is retarded and doesn't write to the pidfile
|
||
|
# before it drops permissions
|
||
|
if [ -n "$PID" ]; then
|
||
|
stat_fail
|
||
|
elif [ -z "$MEMCACHED_USER" ]; then
|
||
|
echo "MEMCACHED_USER must be defined in /etc/conf.d/memcached"
|
||
|
stat_fail
|
||
|
else
|
||
|
touch $PIDFILE && chown $MEMCACHED_USER $PIDFILE
|
||
|
/usr/bin/memcached -d -P $PIDFILE -u $MEMCACHED_USER $MEMCACHED_ARGS
|
||
|
if [ $? -gt 0 ]; then
|
||
|
stat_fail
|
||
|
else
|
||
|
add_daemon memcached
|
||
|
stat_done
|
||
|
fi
|
||
|
fi
|
||
|
;;
|
||
|
stop)
|
||
|
stat_busy "Stopping memcached"
|
||
|
[ ! -z "$PID" ] && kill $PID &> /dev/null
|
||
|
if [ $? -gt 0 ]; then
|
||
|
stat_fail
|
||
|
else
|
||
|
rm -f $PIDFILE
|
||
|
rm_daemon memcached
|
||
|
stat_done
|
||
|
fi
|
||
|
;;
|
||
|
restart)
|
||
|
$0 stop
|
||
|
sleep 1
|
||
|
$0 start
|
||
|
;;
|
||
|
*)
|
||
|
echo "usage: $0 {start|stop|restart}"
|
||
|
esac
|