이 스크립트에 "fetchmail이 실행 중인지 확인"을 추가하세요.

이 스크립트에 "fetchmail이 실행 중인지 확인"을 추가하세요.
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 

도와주세요?

답변1

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

답변2

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

관련 정보