Saqib Ali Asked: 2013-02-01 14:00:27 +0800 CST2013-02-01 14:00:27 +0800 CST 2013-02-01 14:00:27 +0800 CST 从命令行优雅地停止 Apache Solr 772 我使用 jetty 使用以下 cmd 行运行 Solr:java -jar start.jar & 我怎样才能优雅地停止这个 solr 实例? solr 3 个回答 Voted Best Answer Shane Madden 2013-02-01T20:11:28+08:002013-02-01T20:11:28+08:00 查找进程 IDps并向其发送停止使用的信号kill——我相信HUPorINT信号将允许 java 进程正常退出;测试以确认。 更好的是,您真的应该使用适当的服务来运行 Solr - Tomcat 可以做到这一点,或者可以让 Jetty 作为服务运行。 2ark0 2014-12-18T10:45:20+08:002014-12-18T10:45:20+08:00 只是为了澄清之前的答案,在命令中: java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar -DSTOP.PORT=port应该指定一个可用端口(不同于在solr_home/etc/jetty.xml用于 Jetty 中配置的端口)。我尝试用下一种方式启动它: 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 & 在这两种情况下都工作正常,但看起来仍然不够优雅。 Amr Lotfy 2014-10-02T03:43:22+08:002014-10-02T03:43:22+08:00 启动它(定义 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 资源
查找进程 ID
ps
并向其发送停止使用的信号kill
——我相信HUP
orINT
信号将允许 java 进程正常退出;测试以确认。更好的是,您真的应该使用适当的服务来运行 Solr - Tomcat 可以做到这一点,或者可以让 Jetty 作为服务运行。
只是为了澄清之前的答案,在命令中:
-DSTOP.PORT=port
应该指定一个可用端口(不同于在solr_home/etc/jetty.xml
用于 Jetty 中配置的端口)。我尝试用下一种方式启动它:并且只是添加了
--stop
参数来停止它:在这两种情况下都工作正常,但看起来仍然不够优雅。
启动它(定义 stop.port 和 stop.key 变量):
然后你可以停止它:
资源