I was having the well documented problem with org.jboss.shutdown and shutdown.sh.
That is either it does not work at all as in jboss 3.0.6 or it only works for the default settings 3.0.4. and it doesn't work at all if you have set the password on the jmx-console.
To get round this I modified run.sh
At the end of run.sh where jboss.Main is called add an & to put the command into the background
exec $JAVA $JAVA_OPTS \
-classpath "$JBOSS_CLASSPATH" \
org.jboss.Main "$@" &
Then use the bourne shell feature $! to get the PID and echo it to a file
echo $! > /local/local/jboss/jboss-3.0.4/server/default/log/jboss.pid
You can then write a start stop script that calls run.sh to startup jboss and calls kill on the pid to stop it.
See attached.