Почему некоторые 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, что есть дело нелегкое. И проще помнить про этот нюанс.
|
|
|
|
Раздел: Корень / Администратору / Система / FreeBSD специфика / Установка и апгрейд FreeBSD и приложений. |
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 иногда вылезает | |
|