Невозможно запустить демон Sphinx searchd из-за уже запущенного процесса searchd, и он перезапускается сразу после его уничтожения - PullRequest
3 голосов
/ 23 марта 2012

Когда я пытаюсь запустить searchd, выдается следующая ошибка.

Ошибка bind () на 0.0.0.0, повторная попытка ...

FATAL: сбой bind () на 0.0.0.0: незаконный поиск


Я могу найти процесс searchd, работающий

root 14863 0,1 0,0 73884 3960? Ssl 23:21 0:00 / usr / bin / searchd --nodetach

Теперь, когда я его убиваю или пытаюсь остановить (searchd --stop), он мгновенно перезапускается.

root 15841 0,5 0,0 73884 3960? Ssl 23:33 0:00 / usr / bin / searchd --nodetach


Я предполагаю, что есть некоторые настройки, с помощью которых он автоматически запускается, когда процесс не запущен. Как я могу предотвратить это?

Ответы [ 4 ]

7 голосов
/ 21 августа 2012

По умолчанию кажется, что пакет debian запустит Sphinx с дополнительным процессом keepalive. Я смог остановить это успешно с этим;

остановка службы sudo sphinxsearch

1 голос
/ 19 ноября 2012

Насколько мне известно, Upstart отвечает за возрождение searchd после того, как вы попытаетесь остановить / убить его.

Поскольку мы знаем, что этим процессом управляет upstart, мы можем завершить работу демона с помощью "stop sphinxsearch"и затем запустите его снова с помощью «start sphinxsearch».

Если вы хотите уничтожить его как обычно, как любой другой процесс, вы можете удалить аргумент «--nodetach» в файле конфигурации / etc / sphinxsearch / sphinx.conf.Однако, делая это, вы больше не можете остановить процесс, используя «stop sphinxsearch».

1 голос
/ 24 марта 2012

'init: ... основной процесс завершен, респаун' предполагает, что в скрипте init есть что-то, что устанавливает сторожевой таймер, чтобы убедиться, что сфинкс не умер.

Возможно, вам необходимо отключить sphinx через сам скрипт init

/etc/init.d/sphinxsearch stop
0 голосов
/ 24 марта 2012

Нет, нет никакой возможности сфинкса перезапустить Сфинкс.Вероятно, для Sphinx установлен какой-то инструмент мониторинга, например, monit.

...