Bug 2425 - При запуске сервиса fetchmail он не стартует
: При запуске сервиса fetchmail он не стартует
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/fetchmail-daemon)
: unstable
: all Linux
: P4 minor
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2003-03-24 23:31 by
Modified: 2009-05-10 09:31 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


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

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

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

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

NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам
уходит в background.
------- Comment #3 From 2003-03-25 02:18:26 -------
Да нет. Мы выносим & не из 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 \"XXXXXXXXXXXXXXX\" to * here
--===--
------- Comment #4 From 2003-03-25 02:18:26 -------
Да нет. Мы выносим & не из 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 \"XXXXXXXXXXXXXXX\" to * here
--===--
------- Comment #5 From 2003-03-25 14:38:31 -------
При отсутствии set daemon в /etc/fetchmailrc
fetchmail забирает почту один раз по всем poll entries и выходит.
Возможно, поэтому его в итоге не оказывается в списке процессов?
------- Comment #6 From 2003-03-25 14:38:31 -------
При отсутствии set daemon в /etc/fetchmailrc
fetchmail забирает почту один раз по всем poll entries и выходит.
Возможно, поэтому его в итоге не оказывается в списке процессов?
------- Comment #7 From 2003-03-25 15:50:05 -------
Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У
меня ведь диалап и даже при пустом ящике fetchmail \"висит\" в памяти
около 10-15 секунд. Только после того, как я внес вышеописанное исправление,
почта начала нормально забираться через service fetchmail start.
------- Comment #8 From 2003-03-25 15:50:05 -------
Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У
меня ведь диалап и даже при пустом ящике fetchmail \"висит\" в памяти
около 10-15 секунд. Только после того, как я внес вышеописанное исправление,
почта начала нормально забираться через service fetchmail start.
------- Comment #9 From 2003-03-25 16:28:01 -------
Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon,
чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в
init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо
выходит с ошибкой (чего запуск с & не позволял заметить).
Если вам нужен однократный запуск fetchmail, использовать для этого
fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте
машины?). Делайте это вручную, по cron или другими средствами.
Исправления пойдут в fetchmail-daemon-6.2.2-alt2.
------- Comment #10 From 2003-03-25 16:28:01 -------
Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon,
чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в
init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо
выходит с ошибкой (чего запуск с & не позволял заметить).
Если вам нужен однократный запуск fetchmail, использовать для этого
fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте
машины?). Делайте это вручную, по cron или другими средствами.
Исправления пойдут в fetchmail-daemon-6.2.2-alt2.
------- Comment #11 From 2003-03-25 16:47:01 -------
Fixed (but see bugnotes above) in 6.2.2-alt2
------- Comment #12 From 2003-03-25 16:47:01 -------
Fixed (but see bugnotes above) in 6.2.2-alt2