Jboss 7.1.1启动/停止脚本

Sur*_*esh 2 java java-ee jboss7.x

有人可以告诉你如何使用Shell脚本在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 **********";

}
Run Code Online (Sandbox Code Playgroud)

上面的脚本在Jboss-7.0.2中正常工作以停止服务器.但在Jboss-7.1.1中,它并没有停止服务器.请有人帮忙解决这个问题.

Eug*_*ene 15

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 
Run Code Online (Sandbox Code Playgroud)

3)

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

 ./standalone.sh
Run Code Online (Sandbox Code Playgroud)

如果你想阻止它:

 ctrl + c
Run Code Online (Sandbox Code Playgroud)

当然,你的道路可能会有所不同.如果你想在后台运行它,那么只需:

 ./standalone.sh &
Run Code Online (Sandbox Code Playgroud)

停止它:

 ps -ef | grep jboss
Run Code Online (Sandbox Code Playgroud)

你会得到一个接近这个的输出:

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

然后发出:

 kill -9 1471
Run Code Online (Sandbox Code Playgroud)

最后使用JBoss CLI,您可以执行:

 ./jboss-cli.sh --connect ":shutdown"
Run Code Online (Sandbox Code Playgroud)

编辑

脚本似乎做了它的工作,你所要做的就是编辑它:

 #!/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 **********";
Run Code Online (Sandbox Code Playgroud)

请注意,我删除了几行并使用jboss更改了java

把它放在一个名为stopJboss.sh的文件中

然后 :

 sudo chmod +x stopJBoss.sh
Run Code Online (Sandbox Code Playgroud)

然后在需要时调用它:

 ./stopJBoss.sh
Run Code Online (Sandbox Code Playgroud)

这只有在你运行JBoss的单个实例时才有效,因为你需要更多的脚本.

PS我不是脚本的大师,但这就是这一行:

 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill
Run Code Online (Sandbox Code Playgroud)

它将查找包含jboss关键字的每个进程.但它也会输出grep命令本身,因此您将获得两个命令的输出,但您只需要第一个命令.

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

这就是你调用grep -v grep的原因 - 这意味着:在这两行中找到grep for"grep"但反转结果,这样就省略了第二个不需要的结果.

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


小智 6

通过命令行关闭服务器

sh ./bin/jboss-cli.sh --connect command=:shutdown 
Run Code Online (Sandbox Code Playgroud)

假设您在localhost上运行并使用默认的本机管理端口,即9999

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

sh ./bin/jboss-cli.sh --connect controller=<IP>:<native-mgmt-port> command=:shutdown
Run Code Online (Sandbox Code Playgroud)