【问题标题】:Unable to start Sphinx searchd daemon due to already running searchd process, and it restarts just after killing it由于已经在运行 searchd 进程,无法启动 Sphinx searchd 守护进程,并且在杀死它后重新启动
【发布时间】:2012-03-23 18:05:35
【问题描述】:

当我尝试启动 searchd 时,它给出了以下错误。

bind() 在 0.0.0.0 上失败,正在重试...

致命:bind() 在 0.0.0.0 失败:非法搜索


我可以找到一个正在运行的搜索进程

根 14863 0.1 0.0 73884 3960 ? ssl 23:21 0:00 /usr/bin/searchd --nodetach

现在,当我杀死它或尝试停止它(searchd --stop)时,它会立即重新启动。

根 15841 0.5 0.0 73884 3960 ? ssl 23:33 0:00 /usr/bin/searchd --nodetach


我猜有一些设置可以在进程未运行时自动启动。我怎样才能阻止这种情况发生?

【问题讨论】:

  • dmesg |尾巴给出了这个。 *** [1733.055257] init: sphinxsearch 主进程 (5743) 被 KILL 信号杀死 [1733.055325] init: sphinxsearch 主进程结束,重生 *** 必须对此进行一些设置。

标签: sphinx daemon ubuntu-11.10


【解决方案1】:

默认情况下,debian 包似乎会通过一个额外的 keepalive 进程来启动 Sphinx。我能够成功地阻止它;

sudo service sphinxsearch 停止

【讨论】:

    【解决方案2】:

    'init: ... 主进程结束,重生'表明在 init 脚本中有一些东西设置了一个看门狗来确保 sphinx 不会死。

    也许您需要通过 init 脚本本身关闭 sphinx

    /etc/init.d/sphinxsearch stop
    

    【讨论】:

      【解决方案3】:

      据我所知,Upstart 负责在您尝试停止/杀死它后重生 searchd。

      由于我们知道这个进程由 upstart 管理,我们可以使用“stop sphinxsearch”终止守护进程,然后使用“start sphinxsearch”重新启动它。

      如果您想像任何其他进程一样正常终止它,则可以删除配置文件 /etc/sphinxsearch/sphinx.conf 中的“--nodetach”参数。但是,通过这样做,您不能再使用“停止 sphinxsearch”来停止该进程。

      【讨论】:

        【解决方案4】:

        不,没有任何 sphinx 选项可以重新启动 Sphinx。 可能是为 Sphinx 安装了一些监控工具,例如 monit。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多