blob: 62a5cf080944be9c119b1c03c16776cd8248e508 (
plain)
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
|
#!/usr/bin/bash
set -u
set +e
case "$1" in
'start'|'restart')
if [ ! -s '/etc/npreal2/rc.local' ]; then
/usr/lib/npreal2/driver/mxloadsvr install
else
# The mx utilities sometimes put the lines in reverse order
# We'll run the lines in the order we know is right
sh -e -u -c "$(grep '^modprobe' '/etc/npreal2/rc.local')"
sh -e -u -c "$(grep -F '/mxloadsvr' '/etc/npreal2/rc.local')" > /dev/null # turns out sh -c tolerates a blank command
fi
systemd-notify --ready
exit 0
;;
'reload')
killall -s USR1 'npreal2d'
systemd-notify --ready
exit 0
;;
'stop')
# http://unix.stackexchange.com/questions/251195/difference-between-less-violent-kill-signal-hup-1-int-2-and-term-15
# Though SIGINT < SIGTERM, npreal2d ignores SIGTERM so we try it first
killall -s SIGTERM 'npreal2d' 'npreal2d_redund' # doesn't work
killall -q -s SIGINT 'npreal2d' 'npreal2d_redund'
killall -q -s SIGKILL 'npreal2d' 'npreal2d_redund'
if rmmod 'npreal2'; then
echo 'Module removed'
fi
systemd-notify --ready
exit 0
;;
'status')
systemd-notify --ready
exit 0
;;
*)
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
;;
esac
|