]> git.saurik.com Git - redis.git/blobdiff - utils/redis_init_script
Merge pull request #544 from dvirsky/2.6
[redis.git] / utils / redis_init_script
index 35b906fce5060529170bbbcd10a8d6143867f5c3..4dfe98047c4a8df34d4f4cad3423e6da1141d770 100755 (executable)
@@ -1,7 +1,11 @@
 #!/bin/sh
+#
+# Simple Redis init.d script conceived to work on Linux systems
+# as it does use of the /proc filesystem.
 
 REDISPORT=6379
 EXEC=/usr/local/bin/redis-server
+CLIEXEC=/usr/local/bin/redis-cli
 
 PIDFILE=/var/run/redis_${REDISPORT}.pid
 CONF="/etc/redis/${REDISPORT}.conf"
@@ -10,27 +14,29 @@ case "$1" in
     start)
         if [ -f $PIDFILE ]
         then
-                echo -n "$PIDFILE exists, process is already running or crashed\n"
+                echo "$PIDFILE exists, process is already running or crashed"
         else
-                echo -n "Starting Redis server...\n"
+                echo "Starting Redis server..."
                 $EXEC $CONF
         fi
         ;;
     stop)
         if [ ! -f $PIDFILE ]
         then
-                echo -n "$PIDFILE does not exist, process is not running\n"
+                echo "$PIDFILE does not exist, process is not running"
         else
-                echo -n "Stopping ...\n"
-                echo -n "Sending SHUTDOWN\r\n" | nc localhost $REDISPORT &
                 PID=$(cat $PIDFILE)
-                while [ -x /proc/${PIDFILE} ]
+                echo "Stopping ..."
+                $CLIEXEC -p $REDISPORT shutdown
+                while [ -x /proc/${PID} ]
                 do
                     echo "Waiting for Redis to shutdown ..."
                     sleep 1
                 done
-                rm $PIDFILE
                 echo "Redis stopped"
         fi
         ;;
+    *)
+        echo "Please use start or stop as first argument"
+        ;;
 esac