【发布时间】:2016-12-23 17:00:08
【问题描述】:
我有一个 CentOS 7 服务器虚拟机。在这个虚拟机中,我安装了Apache Apollo
我刚刚创建了下面给出的脚本
#!/bin/bash
if pidof -x "apollo" >/dev/null; then
echo "Apollo MQTT is Running."
exit 0
else
echo "Apollo MQTT is Stopped."
exit 2
fi
使用上面的脚本我想检查 apollo 服务是否正在运行。但是当我使用下面的命令运行这个脚本时
sh filename
它在 servce 运行时输出Apollo MQTT is Stopped。
当我在命令下运行时
ps -ef | grep apollo
它给出以下输出
root 8647 1 3 10:49 pts/0 00:00:55 java -ea -server -Xmx1G -XX:+HeapDumpOnOutOfMemoryError -XX:-UseBiasedLocking -Dcom.sun.management.jmxremote -Dapollo.home=/opt/apollo -Dapollo.base=/var/lib/mqtt -classpath /opt/apollo/lib/apollo-boot.jar org.apache.activemq.apollo.boot.Apollo /var/lib/mqtt/lib\;/opt/apollo/lib org.apache.activemq.apollo.cli.Apollo run
root 9426 8233 0 11:15 pts/0 00:00:00 grep --color=auto apollo
【问题讨论】:
-
pgrep -f apollo >/dev/null? -
@Cyrus 当我使用“if pgrep -f apollo >/dev/null; then”时,它总是显示 Apollo MQTT 正在运行。如果服务正在运行并停止这两种情况。
-
停止阿波罗并与
ps -ef | grep apollo联系。 -
奇怪。停止 Apollo,请发布
pgrep -f apollo的输出。 -
我建议在Super User询问。
标签: linux bash shell centos apollo