В ОС 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.
URL:
Обсуждается: http://www.opennet.me/tips/info/1067.shtml
странно, стандартный sa-spamd.sh всегда работал корректно у меня без дополнительного тюнинга.
Спасибо взял на заметку :)
Еще как решение в rc. скриптах указывать переменную 'pidfile'.
Ага, теперь я понял почему томкат не хотит нормально перегружаться. Спасибо.
сам не раскопал по причине паталогической лени; спасибо большое, ткнули фейсом [-:
спасибо. такая же проблема со SpamAssassin иногда вылезает
истчо с named'ом такая же хрень бывает