Bug 2425 - При запуске сервиса fetchmail он не стартует
Summary: При запуске сервиса fetchmail он не стартует
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: fetchmail-daemon (show other bugs)
Version: unstable
Hardware: all Linux
: P4 minor
Assignee: Mikhail Zabaluev
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-24 23:31 MSK by Serhii Hlodin
Modified: 2009-05-10 09:31 MSD (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Serhii Hlodin 2003-03-24 23:31:47 MSK
При выполнении команды:
    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 Mikhail Zabaluev 2003-03-25 01:06:21 MSK
От имени пользователя fetchmail работает и без указанного изменения.
Вынесение & из параметра su действительно помогает? fetchmail при этом
не оказывается остановлен по TTY I/O? 
Каково содержимое /etc/fetchmail? Есть ли там \"set daemon NNN\"?

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

NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам уходит в background.
Comment 3 Serhii Hlodin 2003-03-25 02:18:26 MSK
Да нет. Мы выносим & не из 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 Serhii Hlodin 2003-03-25 02:18:26 MSK
Да нет. Мы выносим & не из 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 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 \"висит\" в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start.
Comment 8 Serhii Hlodin 2003-03-25 15:50:05 MSK
Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У меня ведь диалап и даже при пустом ящике fetchmail \"висит\" в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start.
Comment 9 Mikhail Zabaluev 2003-03-25 16:28:01 MSK
Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon,
чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с & не позволял заметить).
Если вам нужен однократный запуск 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-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с & не позволял заметить).
Если вам нужен однократный запуск 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