postfixが実行中かどうかをテストする

postfixが実行中かどうかをテストする

postfixbashスクリプト内で何かが実行されているかどうかをテストするための安定した方法を探しています。

私の最初の試みはただの試みに過ぎず、うまくpidof postfixいきませんでした。

その後、次のようにしますpostfix status

POSTFIX_LOCATION=/var/packages/MailServer/target/sbin/postfix # location of postfix
result=`$POSTFIX_LOCATION status`
if [ -z $result ]; then
    echo "Error: No status output from postfix"
elif [[ "$result" == *"is running"* ]]; then
    echo "postfix is running!"
else echo "postfix is not running!"
fi

ただし、ステータスがコンソールに報告されても、result変数はまだ空です。コンソール出力は次のとおりです。

postfix/postfix-script: the Postfix mail system is running: PID: 11996
Error: No status output from postfix

PID: 11996最後に、プロセス名(「マスター」)を取得し、postfixが実行されているかどうかをテストする方法を見つけました。だから、する働く:

pidof master

postfixただし、これは非常に詳細ではなく、これが実行されているかどうかをテストする信頼できる方法であるかどうかはわかりません。

だから私の質問は次のようになります

  • postfix statusBashスクリプト内で出力を取得するには? - 私が間違ったことがありますか?
  • もっと良いものがありますか?信頼できるpostfixbashスクリプト内で実行されているかどうかをテストする方法は?

ベストアンサー1

Debian または Ubuntu

sudo service postfix status

おすすめ記事