searchd под runit продолжает запись в журнал runit

Файл запуска searchd (Sphinx):

#!/bin/sh
set -e

APP_PATH=/srv/application
TARGET_USER=user
exec chpst -u $TARGET_USER /usr/bin/searchd --pidfile --nodetach --config $APP_PATH/current/config/production.sphinx.conf 

хвост / вар / бревно / сфинкс / ток

2014-06-07_18:13:56.87885 precached 9 indexes in 0.497 sec
2014-06-07_18:13:57.13740 precached 9 indexes in 0.497 sec
2014-06-07_18:13:57.88113 precached 9 indexes in 0.497 sec
2014-06-07_18:13:57.89167 precached 9 indexes in 0.497 sec
2014-06-07_18:13:59.75555 precached 9 indexes in 0.497 sec
2014-06-07_18:13:59.81554 precached 9 indexes in 0.497 sec
2014-06-07_18:14:00.33466 precached 9 indexes in 0.497 sec
... it continues to write the same line until sv stop sphinx ...

Все отлично работает, seachd запускается и отвечает на запросы. Но как сделать логи менее повторяющимися? Когда я запускаю Sphinx вручную, он печатает "предварительно кэшированные 9 индексов" только один раз.

1 ответ

Я почти уверен, что ваша проблема в том, что searchd разветвляется и демонизируется, что для запуска выглядит так, как будто оно вышло. Таким образом, runs будет продолжать перезапускать searchd, и каждый раз, когда он запускается, он будет записывать сообщение.

Решение состоит в том, чтобы указать searchd оставаться на переднем плане с помощью ключа --nodetach.

Другие вопросы по тегам