如何检查JBoss是否在Unix服务器上运行?

use*_*096 12 unix linux service jboss process

我有一个脚本,我想回应"jboss not running"或"jboss正在运行",具体取决于它是否可以在进程列表中找到jboss进程.但是,当我关闭Jboss时,它仍然执行Else条件并说"jboss正在运行".如果我手动执行"pgrep -f jboss"它不返回任何内容,那为什么它仍然会进入Else条件?困惑

#!/bin/bash
if [ -z "$(pgrep -f jboss)" ]
  then
  echo "jboss is not running"
else
  echo "jboss is running"
fi 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Kev*_*vin 17

而不是检查输出,只需使用命令:

if pgrep -f jboss >/dev/null
  then
  echo "jboss is running"
else
  echo "jboss is not running"
fi 
Run Code Online (Sandbox Code Playgroud)


Ros*_*atl 0

运行jps用 grep查找与您 jboss 相关的行,从该行删除PID并检查 PID。