#!/bin/sh # ### BEGIN INIT INFO # Provides: lams2 # Required-Start: $remote_fs $mysql # Required-Stop: $remote_fs $mysql # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop the lams2 jboss server # Description: Starts and stops the JBoss server where lams2 is installed. ### END INIT INFO . /lib/lsb/init-functions # Attempt to locate JAVA_HOME, code borrowed from jabref package if [ -z $JAVA_HOME ] then t=/usr/lib/jvm/java-6-openjdk && test -d $t && export JAVA_HOME=$t t=/usr/lib/jvm/java-6-openjdk-i386 && test -d $t && export JAVA_HOME=$t t=/usr/lib/jvm/java-6-openjdk-amd64 && test -d $t && export JAVA_HOME=$t t=/usr/lib/jvm/java-6-sun && test -d $t && export JAVA_HOME=$t fi PATH=/sbin:/bin:/usr/sbin:/usr/bin:${JAVA_HOME}/bin JAVA=${JAVA_HOME}/bin/java JBOSS_HOME=/usr/share/jboss-5.1 NAME=lams2 LONGNAME="LAMS 2 Server" PIDFILE="/var/run/$NAME.pid" USER=lams GROUP=lams JBOSS_OPTS= # Use this when using a non-default server configuration in jboss #JBOSS_OPTS="-c " test -x $JAVA || exit 0 # Read an optional running configuration file if [ -r "$JBOSS_HOME/bin/run.conf" ]; then . "$JBOSS_HOME/bin/run.conf" fi JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME" # Setup the java endorsed dirs JBOSS_ENDORSED_DIRS="$JBOSS_HOME/lib/endorsed" # Setup the classpath runjar="$JBOSS_HOME/bin/run.jar" if [ ! -f "$runjar" ]; then die "Missing required file: $runjar" fi JBOSS_BOOT_CLASSPATH="$runjar" # Include the JDK javac compiler for JSP pages. The default is for a Sun JDK # compatible distribution which JAVA_HOME points to if [ "x$JAVAC_JAR" = "x" ]; then JAVAC_JAR="$JAVA_HOME/lib/tools.jar" fi if [ "x$JBOSS_CLASSPATH" = "x" ]; then JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH:$JAVAC_JAR" else JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH:$JAVAC_JAR" fi DAEMON_OPTS="$JAVA_OPTS \ -Djava.endorsed.dirs=$JBOSS_ENDORSED_DIRS \ -classpath $JBOSS_CLASSPATH \ org.jboss.Main -b 0.0.0.0 $JBOSS_OPTS" start() { start-stop-daemon --start --quiet --background --make-pidfile \ --pidfile $PIDFILE --chuid $USER:$GROUP \ --exec $JAVA -- $DAEMON_OPTS } stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE } case "$1" in start) log_daemon_msg "Starting $LONGNAME" "$NAME" start log_end_msg 0 ;; stop) log_daemon_msg "Stopping $LONGNAME" "$NAME" stop rm -f "$PIDFILE" log_end_msg 0 ;; status) if [ -e $PIDFILE ]; then if [ -r $PIDFILE ]; then pid=`cat "$PIDFILE"` pidtest=`ps -p $pid -o args | grep "$JBOSS_BOOT_CLASSPATH" | tail -1` if [ "X$pidtest" = "X" ] then rm -f "$PIDFILE" log_action_msg "Removed stale pid file: $PIDFILE" pid="" fi if [ "X$pid" = "X" ]; then log_action_msg "$LONGNAME is not running." exit 0 else log_action_msg "$LONGNAME is running ($pid)." exit 0 fi else log_failure_msg "Cannot read $PIDFILE." exit 1 fi fi log_action_msg "$LONGNAME is not running." ;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # log_daemon_msg "Restarting $LONGNAME" "$NAME" #set +e stop #set -e sleep 10 start log_end_msg 0 ;; *) SELF=`dirname $0`/`basename $0` echo "Usage: $SELF {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0