Resync megaclisas-status initscript with latest fixes from debian uptream

This commit is contained in:
Adam Cecile 2019-07-03 13:58:10 +02:00
parent 316a80089c
commit dfe63bf478

View File

@ -5,6 +5,7 @@
# #
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: megaclisas-statusd # Provides: megaclisas-statusd
# Description: Check megaclisas-status values in the background.
# Required-Start: $remote_fs $syslog # Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog # Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
@ -100,7 +101,12 @@ EOF
echo "Report from $0 on $hostname" echo "Report from $0 on $hostname"
) | mail -s "info: MegaRAID raid status change on $hostname" $MAILTO ) | mail -s "info: MegaRAID raid status change on $hostname" $MAILTO
fi fi
sleep $PERIOD sleep $PERIOD &
# Kill sleep if we're signaled to exit, otherwise we will stay defunct
# until sleep terminates.
trap "kill $!; exit" TERM
wait $!
trap - TERM
done done
} }
@ -138,11 +144,7 @@ d_start() {
# #
d_stop() { d_stop() {
if [ -f $PIDFILE ] ; then if [ -f $PIDFILE ] ; then
# Doesn't work (kill init script instance, but not daemon...) start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE > /dev/null 2>&1
#start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE > /dev/null 2>&1
DAEMONPID=`ps aux | grep '/usr/bin/daemon /etc/init.d/megaclisas-statusd check_megaclisas' | grep -v 'grep' | awk '{ print $2 }'`
SCRIPTPID=`cat $PIDFILE`
kill -9 $DAEMONPID $SCRIPTPID || true
rm -f $PIDFILE rm -f $PIDFILE
else else
log_progress_msg "Daemon is already stopped." log_progress_msg "Daemon is already stopped."
@ -154,11 +156,7 @@ d_stop() {
# therefore can be used by a restart # therefore can be used by a restart
d_stop_by_restart() { d_stop_by_restart() {
if [ -f $PIDFILE ] ; then if [ -f $PIDFILE ] ; then
# Doesn't work (kill init script instance, but not daemon...) start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE
#start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE
DAEMONPID=`ps aux | grep '/usr/bin/daemon /etc/init.d/megaclisas-statusd check_megaclisas' | grep -v 'grep' | awk '{ print $2 }'`
SCRIPTPID=`cat $PIDFILE`
kill -9 $DAEMONPID $SCRIPTPID || true
rm -f $PIDFILE rm -f $PIDFILE
log_end_msg 0 log_end_msg 0
else else
@ -182,6 +180,10 @@ case "$1" in
check_megaclisas) check_megaclisas)
check_megaclisas check_megaclisas
;; ;;
status)
status_of_proc /usr/bin/daemon $NAME
exit $?
;;
restart|force-reload) restart|force-reload)
log_begin_msg "Restarting $DESC: $NAME" log_begin_msg "Restarting $DESC: $NAME"
d_stop_by_restart d_stop_by_restart