2016-08-10 20 views
0

アポロブローカーサービスbash/shellスクリプトを実行する必要があります。このため bash/shellスクリプトでsudoを使ってサービスを実行

は、私は私のサービスが停止している場合は、次のスクリプト

#!/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"サービスではありません。

は、私はすでに私は、これはあなたにそれが動作しない理由を答えを与えるべきであるCentOSの7

+0

このスクリプトを実行すると* *何が起きますか?何が出力されますか?そのスクリプトを実行しているアカウントは何ですか?そのスクリプトを 'bash -x $ script'出力で実行するとどうなりますか? –

+0

@EtanReisnerゲストユーザがこのスクリプトを実行します。このスクリプトを実行すると、「Apollo MQTT is Stopped」というエラーだけが表示されます。 – user3441151

+0

@EtanReisner私は "bash -x $(sudo service apollo-broker-service start)"を試みましたが、何も変わりません。 – user3441151

答えて

-2
strace ./apollo-broker-service 

使用していますは/ etc/sudoersの

guest ALL = NOPASSWD: /usr/sbin/service 

に以下の行を追加します。 IMOは権限に関連しています。

関連する問題