简体   繁体   中英

Jboss 7.1.1 start/stop script

Could someone tell how to start/stop the Jboss-7.1.1 server in MAC using .在 MAC 中启动/停止 Jboss-7.1.1 服务器。

stop_viewer(){
echo "********* Stopping JBoss Server by killing the process **********";
ps | grep domain.sh | grep -v grep | awk '{print $1}' | xargs kill
ps | grep java | grep -v grep | awk '{print $1}' | xargs kill
ps -ef | grep superuser | grep java | grep -v grep | awk '{print $2}'| xargs kill
echo "********* Stopped JBoss Server by killing the process **********";

}

The above script is working fine in Jboss-7.0.2 to stop the server. But in Jboss-7.1.1, it doesn't stop the server. Please someone help to solve this.

1) First you need to have JBoss downloaded. (I assume you already have valid Java version installed).

2) Once it is downloaded, unzip the folder:

 cd /Users/eugene/Downloads

 mkdir JBOSS-7

 cp /Users/eugene/Downloads/jboss-as-7.1.1.Final.zip /Users/eugene/Downloads/JBOSS-7

 cd /Users/eugene/Downloads/JBOSS-7

 unzip /Users/eugene/Downloads/jboss-as-7.1.1.Final.zip 

3)

 cd Users/eugene/Downloads/JBOSS-7/jboss-as-7.1.1.Final/bin

 ./standalone.sh

If you want to stop it:

 ctrl + c

of course your path may be different. If you want to run it in background, then just do:

 ./standalone.sh &

Stopping it :

 ps -ef | grep jboss

You will get an output close to this one:

 eugene@eugenes-MacBook-Pro ~/D/J/j/bin> ps -ef | grep jboss
 501  1471  1446   0  1:32AM ttys000    0:03.31 /usr/....

And then issue:

 kill -9 1471

Finally with JBoss CLI you can execute:

 ./jboss-cli.sh --connect ":shutdown"

EDIT

The Script seems to do it's job, all you have to do is edit it a bit:

 #!/bin/sh

 echo "********* Stopping JBoss Server by killing the process **********";
 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill
 echo "********* Stopped JBoss Server by killing the process **********";

Notice that I removed a few lines and changed java with jboss

Put this in a file called stopJboss.sh

Then :

 sudo chmod +x stopJBoss.sh

Then invoke it when needed:

 ./stopJBoss.sh

This will work only if you have a single instance of JBoss running, for more you will need a different script.

PS I am not a guru in scripting but here is what this line does:

 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill

It is going to look for every process that contains the jboss keyword. But it also going to output the grep command itself, thus you will get an output of two commands, but you need only the first one.

You could run ps -e | grep jboss and see that the output contains two lines and not one.

That is why you invoke grep -v grep - which means : in those two lines found grep for "grep" but invert the result, in this way you omit the second unneeded result.

Then awk '{print $1}' splits the string into tokens and takes the first one, which is the PID that you need and then you pass this PID to the kill command using the xargs command.

To shutdown the server via command line

sh ./bin/jboss-cli.sh --connect command=:shutdown 

assuming you are running on localhost and using the default native management port ie 9999

if not you need to specify the IP (jboss.bind.address) and the native management port(jboss.management.native.port) configured in standalone.xml

sh ./bin/jboss-cli.sh --connect controller=<IP>:<native-mgmt-port> command=:shutdown

This is how I do it:

ps -ef | grep jboss | grep -v grep | awk '{print $2}' | xargs kill -9

I have this in a bash file that i call killjboss and it works well with me.

After dive on the Google, i managed to put this work:

#!/bin/sh
  ### BEGIN INIT INFO
  # Provides: jboss
  # Required-Start: $local_fs $remote_fs $network $syslog
  # Required-Stop: $local_fs $remote_fs $network $syslog
  # Default-Start: 2 3 4 5
  # Default-Stop: 0 1 6
  # Short-Description: Start/Stop JBoss AS v7.1.1
  ### END INIT INFO
  #
  #source some script files in order to set and export environmental variables
  #as well as add the appropriate executables to $PATH

  export JAVA_HOME=/usr/lib/jvm/java-7-oracle
  export PATH=$JAVA_HOME/bin:$PATH

  export JBOSS_HOME=/home/gaspar/jboss-as-7.1.1.Final
  export PATH=$JBOSS_HOME/bin:$PATH

  case "$1" in
  start)
  echo "Starting JBoss AS 7.1.1"
  #original:
  #sudo -u jboss sh ${JBOSS_HOME}/bin/standalone.sh

  #updated:
  start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh
  ;;
  stop)
  echo "Stopping JBoss AS 7.1.1"
  #original:
  #sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-admin.sh --connect command=:shutdown

  #updated:
  sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-cli.sh --connect command=:shutdown
  ;;
  *)
  echo "Usage: /etc/init.d/jboss {start|stop}"
  exit 1
  ;;
  esac

  exit 0

:)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM