hxp
2025-06-09 6c3f6335c70859ded94a1ad8d218acb0ac34239c
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
#!/bin/bash
 
PORTS="6379 6380 6381 6382"
REDIS=redis-server
 
function start_node() {
    P=$1
    echo "starting node on port $P";
    CONFIG_FILE=`tempfile`
    cat > $CONFIG_FILE << CONFIG
port $P
CONFIG
    $REDIS $CONFIG_FILE > /dev/null 2>/dev/null &
    sleep 1
    rm -f $CONFIG_FILE
}
 
function stop_node() {
 
    P=$1
    PID=$2
    redis-cli -h localhost -p $P shutdown
    kill -9 $PID 2>/dev/null
}
 
function stop() {
    for P in $PORTS; do
        PID=`lsof -i :$P | tail -1 | cut -f 2 -d " "`
        if [ "$PID" != "" ]; then
            stop_node $P $PID
        fi
    done
}
 
function start() {
    for P in $PORTS; do
        start_node $P
    done
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: $0 [start|stop|restart]"
        ;;
esac