fetchmail 完成其工作后,如何执行“while”语句?

fetchmail 完成其工作后,如何执行“while”语句?

我在 /etc/ppp/ip-up.d/script 里面有这个脚本

#!/bin/sh
/usr/sbin/postqueue -c /etc/postfix -f
/usr/bin/fetchmail -v -f /etc/fetchmailrc -L /var/log/fetchmail.log
while ! postqueue -p | grep -q empty; do
  sleep 1
done
killall wvdial

在这个脚本中,当检测到邮件队列为空时,它会断开我的调制解调器,同时我想检查 fetchmail 进程是否仍在运行,或者在 fetchmail 命令完成后立即执行部分操作以完全完成其工作。

请帮忙吗?

答案1

由于您没有在守护进程模式下运行 fetchmail,因此脚本将不会启动 while 循环,直到 fetchmail 退出为止。

我认为在 fetchmail 完成运行之前启动 while 循环并不会节省任何时间。

相关内容