Как я могу вернуть (получить) тему с помощью Dovecot `doveadm fetch`?

Ваша проблема в том, что ваша команда ping содержит -t 1, чтобы сказать ping сдаться через 1 секунду. Это вызывает сигнал SIGALRM, который ping не может отловить. (Возможно, это ошибка ping, но это не важно). Оболочка bash сообщает об этом как Alarm clock: 14 и прерывает процесс со статусом выхода 142 ; 128 (это флаг "я поймал сигнал") + 14 (идентификатор SIGALRM).

Есть два способа справиться с этим:

1) Удалить -t 1, чтобы SIGALRM не генерировался. Вместо этого ping завершится через (по моему опыту) 5 секунд и выдаст другой статус ошибки, чем вы сейчас видите; вероятно, 68, если указанный хост не может быть достигнут. В этом случае вы также можете добавить "-o" к вашему ping, чтобы он завершился, как только хост станет достижимым.

2) Выполните trap - SIGALRM непосредственно перед командой ping, чтобы сказать оболочке игнорировать сигнал. 1-секундный тайм-аут все равно произойдет, и статус выхода будет 142. По крайней мере, так было на iMac под управлением Yosemite (10.10.5), на котором я это пробовал.

1
11.04.2019, 23:39
1 ответ

Тема является частью заголовка (hdr), поэтому вам нужно

doveadm fetch -u myUser hdr.subject ALL
2
27.01.2020, 23:41

Теги

Похожие вопросы