добавьте «проверить, запущен ли 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 

пожалуйста, помогите?

  • Формат ввода / вывода с printf в bash-shell
  • как подсчитать длину массива, определенного в bash?
  • Могу ли я легко найти свою историю на многих экранах?
  • Когда используется порт, который используется?
  • Почему я получаю эту ошибку в Swan-Cygwin?
  • Сделать заполнение вкладки BASH в первом матче?
  • Показать использование ядра ЦП для родительского процесса и его дочерних процессов
  • Grep, который показывает линию рисунка и соответствующую строку
  • плохой интерпретатор bash и отказано в разрешении
  • Почему я получаю «строка 1: $ ': \ r': command not found"?
  • В сценариях Bash, что значит «$! «?
  • Безопасно ли экспортировать переменную, содержащую пароль, а затем сбросить ее?
  • 2 Solutions collect form web for “добавьте «проверить, запущен ли fetchmail» в этот скрипт”

     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 
    Linux и Unix - лучшая ОС в мире.