我下面有一个脚本,我想根据是否在进程列表中找到jboss进程来回显“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

谢谢你的帮助!

最佳答案

不用检查输出,只需使用以下命令:

if pgrep -f jboss >/dev/null
  then
  echo "jboss is running"
else
  echo "jboss is not running"
fi

10-06 14:41