Somewhere on the JBoss mailing list I've found shell
scripts to start/stop JBoss on RH. I use Solaris and had to change them
slightly. However, I do not remember the link to the original script, so here's
my version.
file
/etc/init.d/jboss
#!/bin/sh
# Source function library.
#. /etc/rc.d/init.d/functions
#. /etc/rc.d/init.d/functions
#SET THE FOLLOWING LINE TO YOUR JAVA_HOME
JAVA_HOME=/usr/local/java
#SET THE FOLLOWING LINE TO YOUR
CORRECT JBOSS_HOME
JBOSS_HOME=/opt/jboss
JBOSS_HOME=/opt/jboss
PATH=${PATH}:${JBOSS_HOME}/bin:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
export PATH
export PATH
#IF YOU NEED SPECIAL CLASSES IN YOUR
CLASSPATH
#AT STARTUP, ADD THEM TO YOUR CLASSPATH HERE
#export CLASSPATH=
#AT STARTUP, ADD THEM TO YOUR CLASSPATH HERE
#export CLASSPATH=
RETVAL=0
# See how we were called.
case "$1" in
start)
cd $JBOSS_HOME/bin
echo -n "Starting jboss daemon: "
$JBOSS_HOME/bin/jboss start &
;;
stop)
echo -n "Stopping jboss daemon: "
$JBOSS_HOME/bin/jboss stop
;;
restart)
echo -n "Restarting jboss daemon: "
$0 stop
sleep 20
case "$1" in
start)
cd $JBOSS_HOME/bin
echo -n "Starting jboss daemon: "
$JBOSS_HOME/bin/jboss start &
;;
stop)
echo -n "Stopping jboss daemon: "
$JBOSS_HOME/bin/jboss stop
;;
restart)
echo -n "Restarting jboss daemon: "
$0 stop
sleep 20
$0
start
;;
;;
esac
file /opt/jboss/bin/jboss
#!/bin/sh
JBOSS_HOME=/opt/jboss
JAVA_HOME=/usr/java
JAVA_HOME=/usr/java
JAVACMD=$JAVA_HOME/bin/java
#
Minimal jar file to get JBoss
started.
CLASSPATH=$CLASSPATH:$JBOSS_HOME/bin/run.jar
CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/crimson.jar"
CLASSPATH=$CLASSPATH:$JBOSS_HOME/bin/run.jar
CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/crimson.jar"
#next
line for
jBoss_FINAL-2.0
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jdbc2_0-stdext.jar"
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jboss-jaas.jar"
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jdbc2_0-stdext.jar"
#CLASSPATH="$CLASSPATH:$JBOSS_HOME/lib/jboss-jaas.jar"
JBOSS_OPTS=-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.Do
cumentBuilderFactoryImpl
JBOSS_OPTS="$JBOSS_OPTS -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.
jaxp.SAXParserFactoryImpl"
cumentBuilderFactoryImpl
JBOSS_OPTS="$JBOSS_OPTS -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.
jaxp.SAXParserFactoryImpl"
# Add
the tools.jar file so that Tomcat can find the Java
compiler.
CLASSPATH="${CLASSPATH}:$JAVA_HOME/lib/tools.jar"
CLASSPATH="${CLASSPATH}:$JAVA_HOME/lib/tools.jar"
#if [
"${SPYDERMQ_HOME}X" != "X" ] ; then
# if [ -x $SPYDERMQ_HOME ] ; then
# echo "Adding jar files in ${SPYDERMQ_HOME}/lib to CLASSPATH"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/spydermq.jar"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jms.jar"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jnpserver.jar"
# else
# echo "SPYDERMQ_HOME is set, but is an invalid directory"
# fi
#fi
# if [ -x $SPYDERMQ_HOME ] ; then
# echo "Adding jar files in ${SPYDERMQ_HOME}/lib to CLASSPATH"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/spydermq.jar"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jms.jar"
# CLASSPATH="$CLASSPATH:${SPYDERMQ_HOME}/lib/jnpserver.jar"
# else
# echo "SPYDERMQ_HOME is set, but is an invalid directory"
# fi
#fi
if [
"$1" = "start" ] ; then
shift
$JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main > /dev/null 2>&1 &
echo $! > /var/run/jboss.pid
elif [ "$1" = "stop" ] ; then
shift
kill -15 `cat /var/run/jboss.pid`
rm -rf /var/run/jboss.pid
elif [ "$1" = "run" ] ; then
shift
$JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main tomcat "$@"
else
shift
$JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main > /dev/null 2>&1 &
echo $! > /var/run/jboss.pid
elif [ "$1" = "stop" ] ; then
shift
kill -15 `cat /var/run/jboss.pid`
rm -rf /var/run/jboss.pid
elif [ "$1" = "run" ] ; then
shift
$JAVACMD $JBOSS_OPTS -classpath $CLASSPATH org.jboss.Main tomcat "$@"
else
echo "Usage:"
echo "jboss (start|run|stop)"
echo " start - start jboss in the background"
echo " run - start jboss in the foreground"
echo " stop - stop jboss"
echo "jboss (start|run|stop)"
echo " start - start jboss in the background"
echo " run - start jboss in the foreground"
echo " stop - stop jboss"
exit 0
fi
-----Original Message-----
From: Laurens Fridael [mailto:[EMAIL PROTECTED]]
Sent: Mittwoch, 20. Juni 2001 10:44
To: Jboss-User
Subject: [JBoss-user] Proper shutdown under LinuxHi,I'm using RedHat Linux 6.2. I can start JBoss in the background by running "run.sh &". However, I cannot properly kill it. I can only kill the parent process (run.sh) by issuing "kill -9 pid". This abruptly terminates JBoss without invoking its shutdown procedure. (I'm not seeing the shutdown commands in the server.log.)Under Windows I can achieve a clean shutdown by ^C-ing in the Window. However sending an interrupt (^C) or quit signal under Linux using "kill -2" or "kill -3" doesn't work at all.Help me out please. How can I properly shutdown JBoss under Linux? I'm using IBM's JDK 1.3 if that matters.Regards-Laurens
