首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命令,以检测linux中弹性搜索是否处于活动状态。

问命令,以检测linux中弹性搜索是否处于活动状态。
EN

Stack Overflow用户
提问于 2015-12-08 16:42:14
回答 2查看 5.6K关注 0票数 2

我必须检测elastic search是否在Linux上运行。如果没有运行,请使用shell script启动它。使用以下代码检测是否正在运行弹性搜索,但每次执行其他条件时,即使服务正在运行:

代码语言:javascript
复制
service=elasticsearch

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running!!!"
else
echo "$service is not running!!!"
fi
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-08 16:55:04

下面是一个示例脚本,并在shell脚本中使用它来检查我的服务程序是否正在运行:

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

代码语言:javascript
复制
#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来正确地过滤我的服务。

票数 3
EN

Stack Overflow用户

发布于 2019-04-17 02:26:47

检查pid的问题是服务可能已经启动,但实际上可能还没有准备好。因此,我检查ES正在监听的端口。对我来说更好。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34161315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档