adicione “verifique se o fetchmail está em execução” neste script

2
while ! postqueue -p | grep -q empty; do
  sleep 1
done
killall wvdial

este script verifica se minha fila de mensagens está vazia e desconecta meu modem. Agora eu gostaria de adicionar também uma verificação para o fetchmail se estiver em execução. Não sei como desenvolvê-lo, mas sei que pode ser algo como o exemplo abaixo.

while ! postqueue -p | grep -q empty && "fetchmail process is not running"; do 

alguma ajuda por favor?

    
por Gilles 11.11.2011 / 21:49

2 respostas

2

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
    
por 11.11.2011 / 22:39
1
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

ou mesmo com menos processos gerados:

while [ -n $("find /var/spool/postfix/{deferred,active,maildrop}/ -type f") ] ||
      [ -n $("ps -C fetchmail -o pid=") ]; do
    sleep 5
done
killall wvdial
    
por 11.11.2011 / 22:00