由于已经运行了searchd进程,因此无法启动Sphinx searchd守护进程,并且在杀死它之后重新启动它

时间:2012-03-23 18:05:36

标签: sphinx daemon ubuntu-11.10

当我尝试启动searchd时,会出现以下错误。

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

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


我可以找到运行

的搜索进程

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 个答案:

答案 0 :(得分:7)

默认情况下,似乎debian软件包将启动Sphinx并增加一个keepalive进程。我能够成功地阻止它;

  

sudo service sphinxsearch stop

答案 1 :(得分:1)

'init:...主要流程结束,重新生成'表明init脚本中有一些东西设置了监视器以确保sphinx不会死亡。

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

/etc/init.d/sphinxsearch stop

答案 2 :(得分:1)

据我所知,Upstart负责在您尝试停止/杀死搜索后重新搜索。

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

如果你想像任何其他进程一样杀死它,那么你可以删除配置文件/etc/sphinxsearch/sphinx.conf中的“--nodetach”参数。但是,通过执行此操作,您无法再使用“stop sphinxsearch”停止该过程。

答案 3 :(得分:-1)

不,没有任何sphinx选项可以重启Sphinx。 可能是某些监控工具,如为Sphinx安装的monit。