The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Почему некоторые rcNG-скрипты не останавливают процесс
В ОС FreeBSD иногда появляется проблема, когда rcNG-скрипт запускает процесс 
(процесс запускается нормально, pid-файл создается, с правами все в порядке),
 но не хочет его останавливать. Например, SpamAssassin:

  # /usr/local/etc/rc.d/sa-spamd start
  Starting spamd.
  # ls -l /var/run/spamd/spamd.pid
  -rw-r--r--  1 root  spamd  6  1 авг 08:37 spamd.pid
  # /usr/local/etc/rc.d/sa-spamd stop
  spamd not running? (check /var/run/spamd/spamd.pid)

Причина проблемы не очевидна, решение находится из man ps: 
если длина аргументов больше значения переменной ядра kern.
ps_arg_cache_limit, то ps показывает не полную строку запуска процесса, 
а лишь само имя процесса в квадратных скобках. И бывают случаи (как в SpamAssassin), 
когда имя процесса не совпадает с именем в rcNG-скрипте (переменная name). 
Поэтому rcNG-скрипт не обнаруживает запущенного ним процесса в выводе ps.

Решение - увеличить значение переменной ядра kern.ps_arg_cache_limit в sysctl.conf.

Замечание:

Если в rc.conf в spamd_flags присутствует --debug, то rcNG-скрипт работать не будет, 
потому что в этом случае вывод ps axww меняется. 
Например вместо:

68514  ??  Ss     0:11,27 /usr/local/bin/spamd --siteconfigpath=/usr/local/etc/mail/spamassassin 
   -x -d -l --max-conn-per-child=128 --timeout-tcp=10 --timeout-child=300 
   --pidfile=/var/run/spamd/spamd.pid --syslog=local0 --username=spamd --groupname=spamd
   --allowed-ips=127.0.0.0/8 --listen-ip=127.0.0.1 -d -r /var/run/spamd/spamd.pid (perl5.8.8)

получаем

68514  ??  Ss     0:11,27 /usr/local/bin/perl -T -w /usr/local/bin/spamd 
   --siteconfigpath=/usr/local/etc/mail/spamassassin -x -d -l --max-conn-per-child=128 
   --timeout-tcp=10 --timeout-child=300 --pidfile=/var/run/spamd/spamd.pid --syslog=local0 
   --username=spamd --groupname=spamd --allowed-ips=127.0.0.0/8 --listen-ip=127.0.0.1 --debug 
   received-header -d -r /var/run/spamd/spamd.pid 

Решение этой проблемы - правка rc.subr, что есть дело нелегкое. И проще помнить про этот нюанс.
 
10.08.2006 , Автор: minotaur
Раздел:    Корень / Администратору / Система / FreeBSD специфика / Установка и апгрейд FreeBSD и приложений.

Обсуждение [ RSS ]
 
  • 1.1, Samm, 15:08, 11/08/2006 [ответить] [смотреть все]
  • +/
    странно, стандартный sa-spamd.sh всегда работал корректно у меня без дополнительного тюнинга.
     
  • 1.2, Lancelot, 14:45, 13/08/2006 [ответить] [смотреть все]
  • +/
    Спасибо взял на заметку :)
    Еще как решение в rc. скриптах указывать переменную 'pidfile'.
     
  • 1.3, MoHaX, 12:49, 14/08/2006 [ответить] [смотреть все]
  • +/
    Ага, теперь я понял почему томкат не хотит нормально перегружаться. Спасибо.
     
  • 1.4, Planner, 05:58, 19/08/2006 [ответить] [смотреть все]
  • +/
    сам не раскопал по причине паталогической лени; спасибо большое, ткнули фейсом [-:
     
  • 1.5, dimasp, 12:10, 15/09/2006 [ответить] [смотреть все]
  • +/
    спасибо. такая же проблема со SpamAssassin иногда вылезает
     
  • 1.6, close, 15:06, 02/04/2007 [ответить] [смотреть все]  
  • +/
    истчо с named'ом такая же хрень бывает
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList