]> git.pld-linux.org Git - packages/memcached.git/blob - memcached.init
- run as memcached user
[packages/memcached.git] / memcached.init
1 #!/bin/sh
2 #
3 # memcached             memcached
4 #
5 # chkconfig:    345 60 40
6 #
7 # description:  memcached is a cache daemon.
8 #
9 # processname:  memcached
10 # pidfile:      /var/run/memcached.pid
11 #
12
13 # Source function library
14 . /etc/rc.d/init.d/functions
15
16 # Get network config
17 . /etc/sysconfig/network
18
19 MEMUSAGE="64"
20 MEMCACHED_RUNAS="memcached"
21 MAXCONN="1024"
22 LISTEN="127.0.0.1:11211"
23
24 # Get service config
25 [ -f /etc/sysconfig/memcached ] && . /etc/sysconfig/memcached
26
27 if [ "$LISTENON" -a "$PORT" ]; then
28         # backward compat config
29         LISTEN="$LISTENON:$PORT"
30 fi
31
32 start() {
33         # Check if the service is already running?
34         if [ ! -f /var/lock/subsys/memcached ]; then
35                 local listen ip port ret=0
36                 for listen in $LISTEN; do
37                         ip=${listen%:*}
38                         port=${listen##*:}
39                         msg_starting "memcached ($ip:$port)"
40                         pidfile=/var/run/memcached/"$ip.$port.pid"
41                         daemon --pidfile $pidfile --user $MEMCACHED_RUNAS \
42                                 /usr/sbin/memcached -d -P $pidfile -l $ip -p $port \
43                                 -m $MEMUSAGE -c $MAXCONN -u $MEMCACHED_RUNAS $MEMCACHED_OPTS
44                         ret=$?
45                         [ $ret = 0 ] || RETVAL=$?
46                 done
47                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
48         else
49                 msg_already_running memcached
50         fi
51 }
52
53 stop() {
54         if [ -f /var/lock/subsys/memcached ]; then
55                 local listen ip port
56                 for listen in $LISTEN; do
57                         ip=${listen%:*}
58                         port=${listen##*:}
59                         msg_stopping "memcached ($ip:$port)"
60                         pidfile=/var/run/memcached/"$ip.$port.pid"
61                         killproc --pidfile $pidfile memcached
62                 done
63                 rm -f /var/lock/subsys/memcached >/dev/null 2>&1
64         else
65                 msg_not_running memcached
66         fi
67 }
68
69 RETVAL=0
70 # See how we were called.
71 case "$1" in
72   start)
73         start
74         ;;
75   stop)
76         stop
77         ;;
78   restart)
79         stop
80         start
81         ;;
82   status)
83         status memcached
84         exit $?
85         ;;
86   reload|force-reload)
87         if [ -f /var/lock/subsys/memcached ]; then
88                 msg_reloading memcached
89                 killproc memcached -HUP
90                 RETVAL=$?
91         else
92                 msg_not_running memcached
93                 RETVAL=7
94         fi
95         ;;
96   *)
97         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
98         exit 3
99 esac
100
101 exit $RETVAL
This page took 0.090934 seconds and 4 git commands to generate.