- Fix scripts to new java 6 conditions
- improve to execute kill when it detects that server didn't stop
This commit is contained in:
parent
4c58c7e1c1
commit
0eaee94caa
|
@ -25,7 +25,7 @@ ADEMPIEREUSER=adempiere
|
|||
# detected some problems with Hardy Heron ubuntu using the bash source command
|
||||
ENVFILE=/home/adempiere/.bashrc
|
||||
# STOPMESSAGE="Halting VM" # Message when using java 5
|
||||
STOPMESSAGE="INFO.*\[Server\].*Shutting down the server" # Message when using java 6
|
||||
STOPMESSAGE="INFO.*Server\].*Shutdown complete" # Message when using java 6
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
|
@ -34,143 +34,156 @@ ADEMPIERESTATUS=
|
|||
MAXITERATIONS=60 # 2 seconds every iteration, max wait 2 minutes)
|
||||
|
||||
getadempierestatus() {
|
||||
ADEMPIERESTATUSSTRING=$(ps ax | grep -v grep | grep $EXECDIR)
|
||||
echo $ADEMPIERESTATUSSTRING | grep -q $EXECDIR
|
||||
ADEMPIERESTATUS=$?
|
||||
ADEMPIERESTATUSSTRING=$(ps ax | grep -v grep | grep $EXECDIR)
|
||||
echo $ADEMPIERESTATUSSTRING | grep -q $EXECDIR
|
||||
ADEMPIERESTATUS=$?
|
||||
}
|
||||
|
||||
start () {
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -eq 0 ] ; then
|
||||
echo "ADempiere is already running"
|
||||
return 1
|
||||
fi
|
||||
echo -n "Starting ADempiere ERP: "
|
||||
. $ENVFILE
|
||||
export LOGFILE=$ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_`date +%Y%m%d%H%M%S`.log
|
||||
su $ADEMPIEREUSER -c "mkdir -p $ADEMPIERE_HOME/jboss/server/adempiere/log"
|
||||
su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2.sh &> $LOGFILE &"
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
# wait for server to be confirmed as started in logfile
|
||||
STATUSTEST=0
|
||||
ITERATIONS=0
|
||||
while [ $STATUSTEST -eq 0 ] ; do
|
||||
sleep 2
|
||||
tail -n 5 $LOGFILE | grep -q 'INFO.*\[Server\].*Started in' && STATUSTEST=1
|
||||
echo -n "."
|
||||
ITERATIONS=`expr $ITERATIONS + 1`
|
||||
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
then
|
||||
log_warning_msg "Service hasn't started within the timeout allowed, please review file $LOGFILE to see the status of the service"
|
||||
else
|
||||
log_success_msg "Service started"
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -eq 0 ] ; then
|
||||
echo "ADempiere is already running"
|
||||
return 1
|
||||
fi
|
||||
echo -n "Starting ADempiere ERP: "
|
||||
. $ENVFILE
|
||||
export LOGFILE=$ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_`date +%Y%m%d%H%M%S`.log
|
||||
su $ADEMPIEREUSER -c "mkdir -p $ADEMPIERE_HOME/jboss/server/adempiere/log"
|
||||
su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2.sh &> $LOGFILE &"
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
# wait for server to be confirmed as started in logfile
|
||||
STATUSTEST=0
|
||||
ITERATIONS=0
|
||||
while [ $STATUSTEST -eq 0 ] ; do
|
||||
sleep 2
|
||||
tail -n 9 $LOGFILE | grep -q 'INFO.*\[Server\].*Started in' && STATUSTEST=1
|
||||
echo -n "."
|
||||
ITERATIONS=`expr $ITERATIONS + 1`
|
||||
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
then
|
||||
log_warning_msg "Service hasn't started within the timeout allowed, please review file $LOGFILE to see the status of the service"
|
||||
else
|
||||
log_success_msg "Service started"
|
||||
fi
|
||||
echo
|
||||
else
|
||||
log_failure_msg "Service not started"
|
||||
echo
|
||||
else
|
||||
log_failure_msg "Service not started"
|
||||
echo
|
||||
fi
|
||||
return $RETVAL
|
||||
fi
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop () {
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -ne 0 ] ; then
|
||||
echo "ADempiere is already stopped"
|
||||
return 1
|
||||
echo "ADempiere is already stopped"
|
||||
return 1
|
||||
fi
|
||||
echo -n "Stopping ADempiere ERP: "
|
||||
. $ENVFILE
|
||||
export LASTLOG=`ls -t $ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_??????????????.log | head -1`
|
||||
# export LASTLOG=`ls -t $ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_??????????????.log | head -1`
|
||||
export LASTLOG=$ADEMPIERE_HOME/jboss/server/adempiere/log/server.log
|
||||
su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2Stop.sh &> /dev/null &"
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
# wait for server to be confirmed as halted in logfile
|
||||
STATUSTEST=0
|
||||
ITERATIONS=0
|
||||
while [ $STATUSTEST -eq 0 ] ; do
|
||||
# wait for server to be confirmed as halted in logfile
|
||||
STATUSTEST=0
|
||||
ITERATIONS=0
|
||||
while [ $STATUSTEST -eq 0 ] ; do
|
||||
sleep 2
|
||||
tail -n 9 $LASTLOG | grep -q "$STOPMESSAGE" && STATUSTEST=1
|
||||
echo -n "."
|
||||
ITERATIONS=`expr $ITERATIONS + 1`
|
||||
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||||
then
|
||||
break
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
then
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
then
|
||||
log_warning_msg "Service hasn't stopped within the timeout allowed, please review file $LASTLOG to see the status of the service"
|
||||
else
|
||||
log_warning_msg "Trying direct kill with signal -15"
|
||||
# Adempiere didn't finish - try direct kill with signal 15, then signal 9
|
||||
kill -15 `ps ax | grep -v grep | grep $EXECDIR | sed -e 's/^ *//g' | cut -f 1 -d " "`
|
||||
sleep 5
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -ne 0 ] ; then
|
||||
log_success_msg "Service stopped with kill -15"
|
||||
else
|
||||
echo "Trying direct kill with signal -9"
|
||||
kill -9 `ps ax | grep -v grep | grep $EXECDIR | sed -e 's/^ *//g' | cut -f 1 -d " "`
|
||||
sleep 5
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -ne 0 ] ; then
|
||||
log_success_msg "Service stopped with kill -9"
|
||||
else
|
||||
log_warning_msg "Service hasn't stopped"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log_success_msg "Service stopped"
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
echo
|
||||
else
|
||||
log_failure_msg "Service not stopped"
|
||||
echo
|
||||
log_failure_msg "Service not stopped"
|
||||
echo
|
||||
fi
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
restart () {
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
}
|
||||
|
||||
condrestart () {
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -eq 0 ] ; then
|
||||
restart
|
||||
restart
|
||||
fi
|
||||
}
|
||||
|
||||
rhstatus () {
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -eq 0 ] ; then
|
||||
echo
|
||||
echo "ADempiere is running:"
|
||||
ps ax | grep -v grep | grep $EXECDIR | sed 's/^[[:space:]]*\([[:digit:]]*\).*:[[:digit:]][[:digit:]][[:space:]]\(.*\)/\1 \2/'
|
||||
echo
|
||||
echo
|
||||
echo "ADempiere is running:"
|
||||
ps ax | grep -v grep | grep $EXECDIR | sed 's/^[[:space:]]*\([[:digit:]]*\).*:[[:digit:]][[:digit:]][[:space:]]\(.*\)/\1 \2/'
|
||||
echo
|
||||
else
|
||||
echo "ADempiere is stopped"
|
||||
echo "ADempiere is stopped"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
|
||||
reload)
|
||||
restart
|
||||
;;
|
||||
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
|
||||
condrestart)
|
||||
condrestart
|
||||
;;
|
||||
|
||||
status)
|
||||
rhstatus
|
||||
;;
|
||||
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}"
|
||||
exit 1
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
reload)
|
||||
restart
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
condrestart)
|
||||
condrestart
|
||||
;;
|
||||
status)
|
||||
rhstatus
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -21,7 +21,7 @@ EXECDIR=/home/adempiere/Adempiere
|
|||
ENVFILE=/home/adempiere/.bash_profile
|
||||
ADEMPIEREUSER=adempiere
|
||||
# STOPMESSAGE="Halting VM" # Message when using java 5
|
||||
STOPMESSAGE="INFO.*\[Server\].*Shutting down the server" # Message when using java 6
|
||||
STOPMESSAGE="INFO.*Server\].*Shutdown complete" # Message when using java 6
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
|
@ -53,12 +53,12 @@ start () {
|
|||
ITERATIONS=0
|
||||
while [ $STATUSTEST -eq 0 ] ; do
|
||||
sleep 2
|
||||
tail -n 5 $LOGFILE | grep -q 'INFO.*\[Server\].*Started in' && STATUSTEST=1
|
||||
tail -n 9 $LOGFILE | grep -q 'INFO.*\[Server\].*Started in' && STATUSTEST=1
|
||||
echo -n "."
|
||||
ITERATIONS=`expr $ITERATIONS + 1`
|
||||
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||||
then
|
||||
break
|
||||
then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
|
@ -84,7 +84,8 @@ stop () {
|
|||
fi
|
||||
echo -n "Stopping ADempiere ERP: "
|
||||
source $ENVFILE
|
||||
export LASTLOG=`ls -t $ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_??????????????.log | head -1`
|
||||
# export LASTLOG=`ls -t $ADEMPIERE_HOME/jboss/server/adempiere/log/adempiere_??????????????.log | head -1`
|
||||
export LASTLOG=$ADEMPIERE_HOME/jboss/server/adempiere/log/server.log
|
||||
su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2Stop.sh &> /dev/null &"
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
|
@ -98,13 +99,30 @@ stop () {
|
|||
ITERATIONS=`expr $ITERATIONS + 1`
|
||||
if [ $ITERATIONS -gt $MAXITERATIONS ]
|
||||
then
|
||||
break
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $STATUSTEST -eq 0 ]
|
||||
then
|
||||
echo "Service hasn't stopped within the timeout allowed, please review file $LASTLOG to see the status of the service"
|
||||
echo_warning
|
||||
echo "Trying direct kill with signal -15"
|
||||
# Adempiere didn't finish - try direct kill with signal 15, then signal 9
|
||||
kill -15 `ps ax | grep -v grep | grep $EXECDIR | sed -e 's/^ *//g' | cut -f 1 -d " "`
|
||||
sleep 5
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -ne 0 ] ; then
|
||||
echo_success
|
||||
else
|
||||
echo "Trying direct kill with signal -9"
|
||||
kill -9 `ps ax | grep -v grep | grep $EXECDIR | sed -e 's/^ *//g' | cut -f 1 -d " "`
|
||||
sleep 5
|
||||
getadempierestatus
|
||||
if [ $ADEMPIERESTATUS -ne 0 ] ; then
|
||||
echo_success
|
||||
else
|
||||
echo_warning
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo_success
|
||||
fi
|
||||
|
@ -118,7 +136,7 @@ stop () {
|
|||
|
||||
restart () {
|
||||
stop
|
||||
sleep 1
|
||||
sleep 2
|
||||
start
|
||||
}
|
||||
|
||||
|
@ -144,10 +162,10 @@ rhstatus () {
|
|||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
;;
|
||||
reload)
|
||||
restart
|
||||
;;
|
||||
|
@ -161,8 +179,8 @@ case "$1" in
|
|||
rhstatus
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}"
|
||||
exit 1
|
||||
echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue