Назад | Перейти на главную страницу

изящно останавливает Apache Solr из командной строки

Я использую причал для запуска Solr, используя следующую строку cmd: java -jar start.jar &

как я могу изящно остановить этот экземпляр solr?

Чтобы уточнить предыдущий ответ, в команде:

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 &

В обоих случаях работает нормально, но все равно выглядит недостаточно изящно.

Найдите идентификатор процесса с помощью ps и отправьте ему сигнал о прекращении использования kill - я верю HUP или INT сигналы позволят процессу Java изящно завершиться; тест для подтверждения.

Еще лучше, вы действительно должны использовать подходящую службу для запуска Solr - Tomcat может это сделать, или Jetty можно заставить работать как службу.

Запустите его (задав переменные 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

источник