从命令行正常停止 Apache Solr

从命令行正常停止 Apache Solr

我使用 jetty 运行 Solr,使用以下 cmd 行:java -jar start.jar &

我怎样才能正常停止该 solr 实例?

答案1

找到带有 id 的进程ps,并向其发送信号以停止使用kill- 我相信HUPINT信号将允许 java 进程正常退出;进行测试以确认。

更好的是,您应该真正使用适当的服务来运行 Solr - Tomcat 可以做到这一点,或者可以让 Jetty 作为服务运行。

答案2

只是为了澄清前面的答案,在命令中:

java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar

-DSTOP.PORT=port指定可用的端口(与 Jetty 使用的配置端口不同solr_home/etc/jetty.xml)。我尝试了以下方式来启动它:

nohup java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar &

并添加了--stop参数来停止它:

nohup java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar --stop &

两种情况下都可以正常工作但看起来仍然不够美观。

答案3

启动它(定义 stop.port 和 stop.key 变量):

java -DSTOP.PORT=8080 -DSTOP.KEY=stop_jetty -jar start.jar

那么你可以停止它:

java -DSTOP.PORT=8080 -DSTOP.KEY=stop_jetty -jar start.jar --stop

来源

相关内容