| Summary: | При запуске сервиса fetchmail он не стартует | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Serhii Hlodin <hlodin> |
| Component: | fetchmail-daemon | Assignee: | Mikhail Zabaluev <mhz> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | minor | ||
| Priority: | P4 | CC: | azol, legion, mike |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
От имени пользователя fetchmail работает и без указанного изменения. Вынесение & из параметра su действительно помогает? fetchmail при этом не оказывается остановлен по TTY I/O? Каково содержимое /etc/fetchmail? Есть ли там \"set daemon NNN\"? NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам уходит в background. От имени пользователя fetchmail работает и без указанного изменения. Вынесение & из параметра su действительно помогает? fetchmail при этом не оказывается остановлен по TTY I/O? Каково содержимое /etc/fetchmail? Есть ли там \"set daemon NNN\"? NB: Честно говоря, даже непонятно, зачем там этот амперсанд: fetchmail сам уходит в background. Да нет. Мы выносим & не из 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 --===-- Да нет. Мы выносим & не из 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 --===-- При отсутствии set daemon в /etc/fetchmailrc fetchmail забирает почту один раз по всем poll entries и выходит. Возможно, поэтому его в итоге не оказывается в списке процессов? При отсутствии set daemon в /etc/fetchmailrc fetchmail забирает почту один раз по всем poll entries и выходит. Возможно, поэтому его в итоге не оказывается в списке процессов? Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У меня ведь диалап и даже при пустом ящике fetchmail \"висит\" в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start. Да нет. Уже проверено. Он даже не запускается и соединение не устанавливает. У меня ведь диалап и даже при пустом ящике fetchmail \"висит\" в памяти около 10-15 секунд. Только после того, как я внес вышеописанное исправление, почта начала нормально забираться через service fetchmail start. Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon, чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с & не позволял заметить). Если вам нужен однократный запуск fetchmail, использовать для этого fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте машины?). Делайте это вручную, по cron или другими средствами. Исправления пойдут в fetchmail-daemon-6.2.2-alt2. Радикальное решение: в /etc/fetchmailrc должна быть опция set daemon, чтобы его запускал сервис. Таким образом, во всех случаях запуска fetchmail в init-скрипте он либо успешно инициализируется и уходит в фоновый режим, либо выходит с ошибкой (чего запуск с & не позволял заметить). Если вам нужен однократный запуск fetchmail, использовать для этого fetchmail-daemon -- плохая идея (какой смысл забирать почту один раз при старте машины?). Делайте это вручную, по cron или другими средствами. Исправления пойдут в fetchmail-daemon-6.2.2-alt2. Fixed (but see bugnotes above) in 6.2.2-alt2 Fixed (but see bugnotes above) in 6.2.2-alt2 |
При выполнении команды: 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 (запуск от имени пользователя).