Java Jboss 7.1.1启动/停止脚本

Java Jboss 7.1.1启动/停止脚本,java,jakarta-ee,jboss7.x,Java,Jakarta Ee,Jboss7.x,有人能告诉我如何使用Shell脚本在MAC中启动/停止Jboss-7.1.1服务器吗 上面的脚本在Jboss-7.0.2中运行良好,可以停止服务器。但是在Jboss-7.1.1中,它不会停止服务器。请有人帮你解决这个问题。1)首先你需要下载JBoss。(我假设您已经安装了有效的Java版本) 2) 下载后,解压缩文件夹: cd /Users/eugene/Downloads mkdir JBOSS-7 cp /Users/eugene/Downloads/jboss-as-7.1.1.

有人能告诉我如何使用Shell脚本在MAC中启动/停止Jboss-7.1.1服务器吗

上面的脚本在Jboss-7.0.2中运行良好,可以停止服务器。但是在Jboss-7.1.1中,它不会停止服务器。请有人帮你解决这个问题。

1)首先你需要下载JBoss。(我假设您已经安装了有效的Java版本)

2) 下载后,解压缩文件夹:

 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 
(三)

如果你想阻止它:

 ctrl + c
当然,你的道路可能不同。如果要在后台运行,只需执行以下操作:

 ./standalone.sh &
停止它:

 ps -ef | grep jboss
您将得到一个与此相近的输出:

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

 kill -9 1471
最后,使用JBoss CLI,您可以执行:

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

脚本似乎完成了它的工作,您所要做的就是稍微编辑它:

 #!/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 **********";
请注意,我删除了几行,并用jboss更改了java

将其放入名为stopJboss.sh的文件中

然后:

 sudo chmod +x stopJBoss.sh
然后在需要时调用它:

 ./stopJBoss.sh
只有当您运行一个JBoss实例时,这才有效,因为更多的情况下,您将需要一个不同的脚本

另外,我不是脚本编写方面的大师,但这一行的作用如下:

 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill
它将查找包含jboss关键字的每个进程。但它也将输出grep命令本身,因此您将获得两个命令的输出,但您只需要第一个命令

您可以运行ps-e| grep jboss,并看到输出包含两行而不是一行

这就是为什么要调用grep-vgrep,这意味着:在这两行中,grep表示“grep”,但将结果反转,这样就忽略了第二个不需要的结果


然后awk{print$1}将字符串拆分为令牌,并获取第一个令牌,这是您需要的PID,然后使用xargs命令将此PID传递给kill命令。

通过命令行关闭服务器

sh ./bin/jboss-cli.sh --connect command=:shutdown 
假设您在本地主机上运行,并使用默认的本机管理端口,即9999

如果没有,则需要指定在standalone.xml中配置的IP(jboss.bind.address)和本机管理端口(jboss.management.native.port)

sh ./bin/jboss-cli.sh --connect controller=<IP>:<native-mgmt-port> command=:shutdown
sh./bin/jboss-cli.sh——连接控制器=:命令=:关机

在谷歌上潜水后,我成功地完成了以下工作:

#!/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
:)

我就是这样做的:

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

我把它放在一个bash文件中,我称之为killjboss,它很适合我

你的回答足够了吗?或者你还需要什么吗?我发布了一个脚本来停止服务器。请调查一下,帮我解决这个问题谢谢你的代码。正如你所说,我改变了剧本。但这不会扼杀我的进程。如果你有其他想法,请帮助我。@user1029292这真的很奇怪,因为我用JBOSS 7.1.1在我的Macbook上测试了这个,而且它确实是worker。好的,下面是您可以做的:启动Jboss:./stanadalone.sh&;然后发布:ps-ef | grepjboss;然后运行脚本;然后发布ps-ef | grepjboss。在我的例子中,我对它做了一点修改:ps-ef | grep jboss | grep server | awk'{print$2}'| xargs killkill$(ps aux | grep'process name'| grep-v grep | awk'{print$2}')ps aux的另一个变体
#!/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
ps -ef | grep jboss | grep -v grep | awk '{print $2}' | xargs kill -9