]> Sergey Matveev's repositories - sgmon.git/blob - start.sh
Initial commit
[sgmon.git] / start.sh
1 #!/bin/sh -e
2
3 stop() {
4     trap - HUP PIPE INT QUIT TERM EXIT
5     echo ... | mailx -s "Stopping" "$NOTIFY_EMAIL"
6     for probe in $probes ; do
7         [ -s $probe/pid ] || continue
8         echo killing ${probe}...
9         pkill -F $probe/pid 2>/dev/null || :
10     done
11     for probe in $probes ; do
12         read pid < $probe/pid || :
13         [ -n "$pid" ] || continue
14         echo waiting ${probe}...
15         wait $pid || :
16     done
17     echo finished
18     exit
19 }
20
21 root="`pwd`"
22 SGMONDIR="$(dirname "$(realpath -- "$0")")"
23 . "$SGMONDIR"/rc
24 probes="$("$SGMONDIR"/probelist.sh)"
25 echo $(echo "$probes" | wc -l) probes | mailx -s "Starting" "$NOTIFY_EMAIL"
26 for probe in $probes ; do
27     cd $probe
28     echo starting ${probe}...
29     "$SGMONDIR"/run.sh $probe >/dev/null 2>&1 &
30     echo $! > pid || :
31     cd "$root"
32 done
33 echo OK
34 trap stop HUP PIPE INT QUIT TERM EXIT
35 while : ; do sleep 1 ; done