The bounce script will take the input as WebLogic instance name.
Then the script should do search for the corresponding Java Process id of given WebLogic instance.
That Java Process ID can be used for finding:
1. Thread dump
2. Domain directory
3. Shutdown instance (kill the process)
Above 1, 3 are commonly used commands but 2nd one required when situation like this, on the same machine if there exists multiple WebLogic domain instances then how to find the WebLogic instance started from? Here, I need to find the origin directory of startManagedWebLogic.sh used which gives the WebLogic domain directory. How to resolve this? The solution is pwdx command in Solaris gives you this directory path by passing process id to it.
This solution gives me to start the WebLogic instance which is residing in irrespective WebLogic domain. That's all I need to make the bounce script.
The bounce script goes like this
#========================================================== # This script you can keep in common accessing PATH # such as in $JAVA_HOME/bin # For WebLogic instance take ThreadDump, Shutdown, and Start #=========================================================== flag=0 if [ "$1" = "" ]; then echo "Usage : $0 [instance]" exit else instance="$1" pid=`jps -v|grep $instance|awk '{print $1}'` echo 'pid ' $pid domainPath=` pwdx $pid |awk '{print $2}'` kill -3 $pid sleep 3 kill -3 $pid sleep 3 kill -3 $pid #Now shutting down the instance here kill -9 $pid #verifying the instance is existance if not wait while : do jps -v |grep $instance if [ $? -eq 1 ]; then echo 'kill success' flag=`expr $flag + 1` break; else echo 'kill failed... sleeping 1 sec' sleep 1 fi done #Once kill is success then you can proceed for Start it # Here you can call startManagedWebLogic.sh script if [ $flag -gt 0 ]; then . ${domainPath}/startinstance.sh $instance fi fi
Recently one of my blog ->pingbox user asked me about pwdx command, does it works on HP-UX? I thought I should update this post with proper references.
There is compatibility list given for pwdx command:
pwdx compatibility
Alternate solution is cwd for Linux.
Please suggest your ideas, Keep commenting