检测弹性搜索是否在linux中处于活动状态的命令

时间:2015-12-08 16:42:15

标签: linux elasticsearch

我必须检测Linux上是否正在运行\library |--\angular |--\angular-bootstrap |--\bootstrap ...etc 。如果它没有运行,请使用elastic search启动它。 使用以下代码来检测弹性搜索是否正在运行,但是即使服务正在运行,每次执行其他条件:

shell script

2 个答案:

答案 0 :(得分:2)

这是一个示例脚本,在shell脚本中用于检查我的服务是否正在运行:

看看这个脚本,看它是否对你有所帮助。

#verify if the service is running   
ps aux | grep SERVICENAME | pidof java > /dev/null
verifier=$?
zero=0
if [ $zero = $verifier ]
then
    echo "Service was successfully started"
else
    echo "Service stopped"
fi

在我的情况下,我的服务是在java中完成的,然后我使用pidof来正确过滤我的服务

答案 1 :(得分:0)

The issue with checking for pid is that the service might have started, but it might not be ready actually. So instead, I check for port that ES is listening on. It works better for me.

netstat -uplnt | grep :9200 | grep LISTEN > /dev/null
verifier=$?
if [ 0 = $verifier ]
    then
        echo "ES is listening on port 9200"
    else
        echo "ES is not ready yet"
fi