java - Jboss 7.1.1 启动/停止脚本

标签 java jakarta-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 **********";

}

上面的脚本在 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 

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

 ./standalone.sh

如果你想阻止它:
 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 **********";

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

把它放在一个名为 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 -v grep - 这意味着:在这两行中找到 grep 为“grep”但反转结果,这样你就省略了第二个不需要的结果。

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

关于java - Jboss 7.1.1 启动/停止脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11825891/

相关文章:

java - 迭代器 - Spring MVC Controller 中的 java.util.NoSuchElementException

java - 包含适用于 x86 和 x64 位操作系统的不同 jar

java - 如何从 NetBeans 中解开 Java EE 教程示例并将其与 Eclipse 一起使用?

java - Jboss 身份验证问题

java - JBoss EAP 7.0standalone.xml 中设置的 Infinispan 缓存设置未反射(reflect)在应用程序中

java - 如何获取 IntStream.map.forEach 的索引?

java - 在选定的饼图值上创建删除对话框?

java - 在 Bean 中仅实例化一次值

java - getResourceAsStream 没有在 webapp 中加载资源

file-upload - 未使用 web.xml 时的 Primefaces 文件上传过滤器