我通常使用这个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应用程序是否正在运行?
由于
答案 0 :(得分:0)
您的问题与此非常相似: Start a Java application using Bat file if not already started
主要区别在于您要求使用 bash 而另一个在 Windows 中。因此用jps替换jcmd,其余的仍然适用。