kill liferay script

December 19, 2011

Here’s a bash kill liferay script!

This should kill any running liferay or liferay social office on a linux system.

Open up your favorite editor and paste this in

#!/bin/bash
#
#Script name: kill_liferay.sh
#
#Purpose: To kill any running instance of liferay on a linux system
#
#Usage: ./kill_liferay.sh
#
for pid in `ps aux | grep java | grep liferay | grep tomcat  | awk '{print $2}'`
do
        echo "Liferay is running with pid $pid ..."
        kill $pid
        if ! kill $pid > /dev/null 2>&1; then
                echo "Could not send SIGTERM to process $pid .. trying kill -9" >&2
                if ! kill -9 $pid > /dev/null 2>&1; then
                        echo "Unable to kill $pid with kill -9"
                else
                        echo "Successfully killed Liferay with PID $pid!"
                fi
        else
                echo "Successfully killed Liferay with PID $pid!"
        fi
done

 

Save the file something like kill_liferay.sh

Next you’ll need to:

# chmod +x kill_liferay.sh

When to kill liferay?

When it is not responding. Here is a nice script to detect just that!

Note the /etc/init.d/liferay script is using the kill liferay script amongst other things!

#!/bin/bash
#
# /usr/local/bin/liferay.cron.sh
if curl -I -L http://localhost:8080 | grep "Liferay Portal" > /dev/null; then
	echo "Liferay is up" > /dev/null
else
	/etc/init.d/liferay restart
fi

/etc/init.d/liferay

#!/bin/bash
#######################
#
# init.d script to start/stop the liferay tomcat
# instance
#
# ticket #111216-06715
#
#######################

# chkconfig: 2345 80 05
# description: Liferay Tomcat services.

PATHTOCATALINA="/home/liferay/liferay-social-office-1.5b/tomcat-6.0.18/bin/"
START="/bin/sh startup.sh"
STOP="/bin/sh shutdown.sh"
STOPKILL="/bin/sh kill_liferay.sh"
DEBUGLOG="/home/liferay/debug.log"


function help
{
   echo "Usage:"
   echo "  liferay [ start|stop|restart|kill ]"
   echo "   start   - start the server"
   echo "   stop    - stop the server"
   echo "   restart - stop then start the server"
   echo "   kill    - stop the server hard"
   exit 0
}

function killliferay
{
  echo -n "killling liferay"
  cd ${PATHTOCATALINA}
  ${STOPKILL}
}

function startliferay
{
  /bin/su - liferay -c "cd ${PATHTOCATALINA};${START}"
}

function stopliferay
{
  /bin/su - liferay -c "cd ${PATHTOCATALINA};${STOP}"
  sleep 15
  if [ "$(ps aux | grep java | grep liferay | grep tomcat | awk '{print $2}')" ]; then
    killliferay
  fi
}
function restartliferay
{
  stopliferay
  sleep 10
  startliferay
}

case ${1} in
  start)   startliferay
           exit 0
         ;;
  stop)    stopliferay
           exit 0
         ;;
  restart) restartliferay
           exit 0
         ;;
  kill)    killliferay
           exit 0
        ;;
esac