如果没有运行,则运行其他java程序的Bash脚本启动java

时间:2017-01-31 09:27:13

标签: java bash

我通常使用这个bash脚本来检查我的java应用程序是否正在运行,如果没有则再次启动它。我用crontab来检查它

#!/bin/bash
if [ "$(pidof java)" ]
then
  # process was found
        echo "application running"
else
  # process not found
cd /home/assist/emanager
setsid java -jar emanager-1.0.0.jar </dev/zero &>/dev/null &
fi

现在问题是服务器上还运行其他java应用程序,因此脚本无法启动我的应用程序,因为if条件为true。有没有办法检查特定的Java应用程序是否正在运行?

由于

1 个答案:

答案 0 :(得分:0)

您的问题与此非常相似: Start a Java application using Bat file if not already started

主要区别在于您要求使用 bash 而另一个在 Windows 中。因此用jps替换jcmd,其余的仍然适用。