while ! postqueue -p | grep -q empty; do
sleep 1
done
killall wvdial
このスクリプトは、メールキューが空かどうかを確認してから、モデムを切断します。が実行されている場合は、fetchmailにもチェックを追加したいと思います。どのように開発すればよいかわかりませんが、ダウンの例のようなものになる可能性があることは知っています。
while ! postqueue -p | grep -q empty && "fetchmail process is not running"; do
助けてください?
echo "Checking mail queue and fetchmail process"
while ! postqueue -p | grep -q empty && ps -C fetchmail > /dev/null; do
echo "There is still mail in queue or fetchmail is still working"
sleep 1
done
echo "Terminating the connection"
killall wvdial
while [ "`find /var/spool/postfix/{deferred,active,maildrop}/ -type f | wc -l`" -gt 0 ] ||
[ "`ps -C fetchmail -o pid= | wc -l`" -gt 0 ]; do
sleep 5
done
killall wvdial
または、生成されたプロセスが少ない場合でも:
while [ -n $("find /var/spool/postfix/{deferred,active,maildrop}/ -type f") ] ||
[ -n $("ps -C fetchmail -o pid=") ]; do
sleep 5
done
killall wvdial