我正在寻找一种可靠的方法来测试postfix是否在bash脚本中运行.
我的第一次尝试只是尝试pidof后缀,这是行不通的.
然后我试图获得后缀状态:
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
但即使状态报告给控制台,结果变量仍保持为空.
这是控制台输出:
postfix/postfix-script: the Postfix mail system is running: PID: 11996
Error: No status output from postfix
我终于找到了一种方法,通过获取PID的进程名称来测试postfix是否正在运行:11996,即“master”.所以以下工作:
pidof master
但这不是很冗长,我不确定这是否是一种可靠的方法来测试postfix是否正在运行.
所以我的问题是:
>如何从bash脚本中获取后缀状态的输出? –
我在那里做错了什么?
>有没有更好的可靠方法来测试postfix是否在bash脚本中运行?
解决方法:
Debian或Ubuntu
sudo service postfix status
标签:bash,linux,postfix
来源: https://codeday.me/bug/20190809/1633840.html