summaryrefslogtreecommitdiffstats
path: root/slobrok/src/tests/multi/stop.sh
blob: 0089c0b77d359a81b5d20913bb4a3f856d63a82e (plain) (blame)
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
#!/bin/sh
# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

ok=true

../../apps/sbcmd/sbcmd 18511 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18512 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18513 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18514 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18515 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18516 slobrok.system.stop || ok=false
../../apps/sbcmd/sbcmd 18517 slobrok.system.stop || ok=false

if $ok; then
    echo "Signaled all brokers to stop OK"
fi

for cnt in 1 2 3 4 5 6 7 8 9; do
    sleep $cnt
    alive=false
    for x in `cat pids.txt`; do
	kill $x 2>/dev/null && ps -p $x && alive=true
    done
    if $alive; then
        echo "Some processes still alive after $cnt seconds"
    else
        rm -f pids.txt
        $ok
        exit
    fi
done

for x in `cat pids.txt`; do
    kill -9 $x 2>/dev/null && echo "Force killed pid $x"
done
exit 1