Bug 2425

Summary: При запуске сервиса fetchmail он не стартует
Product: Sisyphus Reporter: Serhii Hlodin <hlodin>
Component: fetchmail-daemonAssignee: Mikhail Zabaluev <mhz>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P4 CC: azol, legion, mike
Version: unstable   
Hardware: all   
OS: Linux   

Description Serhii Hlodin 2003-03-24 23:31:47 MSK
При выполнении команды:
    service fetchmail start
с глобальным конфигурационным файлом (/etc/fetchmail) на экран выводится \&quot;ОК\&quot;, а фактически fetchmail оказывается не запущенным и отсутствует в списке процессов.
---

---
Исправление ошибки простое. В файле /etc/rc.d/init.d/fetchmail  в строке 51 достаточно поменять местами знаки амперсанда и апострофа, чтобы строка выглядела следующим образом:
\&quot;su -s /bin/sh -l fetchmail -c \'fetchmail -f /etc/fetchmailrc --nopermcheck \'&amp;\&quot;
Оригинальная строка (неработающая) выглядит так:
\&quot;su -s /bin/sh -l fetchmail -c \'fetchmail -f /etc/fetchmailrc --nopermcheck &amp;\'\&quot;

Подозреваю, что подобное изменение необходимо выполнить и в строке 40 (запуск от имени пользователя).
Comment 1 Mikhail Zabaluev 2003-03-25 01:06:21 MSK
От имени пользователя fetchmail работает и без указанного изменения.
Вынесение &amp; из параметра su действительно помогает? fetchmail при этом
не оказывается остановлен по TTY I/O? 
Каково содержимое /etc/fetchmail? Есть ли там \&quot;set daemon NNN\&quot;?

NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам уходит в background.
Comment 2 Mikhail Zabaluev 2003-03-25 01:06:21 MSK
От имени пользователя fetchmail работает и без указанного изменения.
Вынесение &amp; из параметра su действительно помогает? fetchmail при этом
не оказывается остановлен по TTY I/O? 
Каково содержимое /etc/fetchmail? Есть ли там \&quot;set daemon NNN\&quot;?

NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам уходит в background.
Comment 3 Serhii Hlodin 2003-03-25 02:18:26 MSK
Да нет. Мы выносим &amp; не из su, а из его параметра \'-с\'. Сам su не может отправить fetchmail в бекграунд, но при этом сам весело уходит в бекграунд, где дальше выполняет то, что прописано в параметре -c.

Fetchmail сам уходит в background только в случае указания ему опции set daemon или в командной строке -d.

Содержимое fetchmailrc:
--===--
set no spambounce
poll XXXX.XXXXX.XXXXX.XX with proto pop3 localdomains hlodin.lutsk.ua user XXXXXXXX with pass \&quot;XXXXXXXXXXXXXXX\&quot; to * here
--===--
Comment 4 Serhii Hlodin 2003-03-25 02:18:26 MSK
Да нет. Мы выносим &amp; не из su, а из его параметра \'-с\'. Сам su не может отправить fetchmail в бекграунд, но при этом сам весело уходит в бекграунд, где дальше выполняет то, что прописано в параметре -c.

Fetchmail сам уходит в background только в случае указания ему опции set daemon или в командной строке -d.

Содержимое fetchmailrc:
--===--
set no spambounce
poll XXXX.XXXXX.XXXXX.XX with proto pop3 localdomains hlodin.lutsk.ua user XXXXXXXX with pass \&quot;XXXXXXXXXXXXXXX\&quot; to * here
--===--
Comment 5 Mikhail Zabaluev 2003-03-25 14:38:31 MSK
При отсутствии set daemon в /etc/fetchmailrc
fetchmail забирает почту один раз по всем poll entries и выходит.
Возможно, поэтому его в итоге не оказывается в списке процессов?
Comment 6 Mikhail Zabaluev 2003-03-25 14:38:31 MSK
При отсутствии set daemon в /etc/fetchmailrc
fetchmail забирает почту один раз по всем poll entries и выходит.
Возможно, поэтому его в итоге не оказывается в списке процессов?
Comment 7 Serhii Hlodin 2003-03-25 15:50:05 MSK
Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У меня ведь диалап и даже при пустом ящике fetchmail \&quot;висит\&quot; в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start.
Comment 8 Serhii Hlodin 2003-03-25 15:50:05 MSK
Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У меня ведь диалап и даже при пустом ящике fetchmail \&quot;висит\&quot; в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start.
Comment 9 Mikhail Zabaluev 2003-03-25 16:28:01 MSK
Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon,
чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с &amp; не позволял заметить).
Если вам нужен однократный запуск fetchmail, использовать для этого fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте машины?). Делайте это вручную, по cron или другими средствами.
Исправления пойдут в fetchmail-daemon-6.2.2-alt2.
Comment 10 Mikhail Zabaluev 2003-03-25 16:28:01 MSK
Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon,
чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с &amp; не позволял заметить).
Если вам нужен однократный запуск fetchmail, использовать для этого fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте машины?). Делайте это вручную, по cron или другими средствами.
Исправления пойдут в fetchmail-daemon-6.2.2-alt2.
Comment 11 Mikhail Zabaluev 2003-03-25 16:47:01 MSK
Fixed (but see bugnotes above) in 6.2.2-alt2
Comment 12 Mikhail Zabaluev 2003-03-25 16:47:01 MSK
Fixed (but see bugnotes above) in 6.2.2-alt2