blob: 9c97275078791ba865ba8e62fcf48793523bf12b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#!/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
|