【发布时间】:2016-08-10 21:23:14
【问题描述】:
我必须使用 bash/shell 脚本来运行 apollo-broker-service。
为此,我使用以下脚本
#!/bin/bash
if pidof -x "apollo" >/dev/null; then
echo "Apollo MQTT is Running."
exit 0
else
echo "Apollo MQTT is Stopped."
sudo service apollo-broker-service start
exit 2
fi
如果我的服务停止。它不是启动“apollo-broker-service”服务。
我已经在 /etc/sudoers
中添加了以下行guest ALL = NOPASSWD: /usr/sbin/service
我使用的是 CentOS 7。
【问题讨论】:
-
当您运行该脚本时会发生什么?它输出什么?运行该脚本的帐户是什么?用
bash -x $script输出运行该脚本有什么作用? -
@EtanReisner 来宾用户运行此脚本。运行此脚本时,仅打印“Apollo MQTT is Stopped”没有错误。
-
@EtanReisner 我试过“bash -x $(sudo service apollo-broker-service start)”但没有任何改变。
-
这不是我告诉你运行的命令。虽然我说的命令在这种情况下不太可能有太大帮助。服务脚本是什么样的?另外我希望您的问题可能是
service!=/usr/sbin/service和sudo很挑剔。